zoukankan      html  css  js  c++  java
  • core--进程

    前面我们说了线程是一系列的指令,那么进程是什么呢?进程就是装下这些指令的容器。该容器除了线程,还包含资源等内容。一个进程至少要有一个线程。没有线程的进程就不叫进程

    进程和程序的区别:进程必须是正在运行的实例,而程序通常指的是存储在物理介质中的一个文件,程序运行后,就成了进程

    在windows中,进程有两种:

    1.控制台应用程序。CMD程序就是典型的实例

    2.GUI应用程序。

    可以使用CreateProcess函数来创建进程

    LPCTSTR lpApplicationName, 通常为NULL

        可执行文件的名称

    LPTSTR lpCommandLine,  

        一定要注意LPTSTR,该类型表示字符串可以被修改

        通常该值被指定为可执行文件的名称,如果没有扩展名,就会自动添加.exe然后按照如下顺序来查找完整路径名称:

            1.主调进程.exe文件所在的目录

            2.主调进程的当前目录

            3.windows系统目录 System32

            4.PATH环境变量中列出的目录

    LPSECURITY_ATTRIBUTES lpProcessAttributes

    LPSECURITY_ATTRIBUTES lpThreadAttributes

    BOOL bInheritHandles

             是否允许进程内的可继承内核对象被子进程继承

           DWORD dwCreationFlags

    LPVOID lpEnvironment

              环境变量,通常设置NULL
           LPCTSTR lpCurrentDirectory
           LPSTARTUPINFO lpStartupInfo
           LPPROCESS_INFORMATION lpProcessInformation
       );

    正常情况下当主线程运行完毕,退出后进程就会被结束,但是windows为我们提供了一下方式来强制结束进程

    ExitProcess

    TerminateProcess 可以结束其他进程

  • 相关阅读:
    字符数组(判断字符串大小)
    http请求文件流
    webservice接口调用
    面试基础-线程(一)
    面试基础-redis(二)
    面试基础-redis(一)
    面试基础--JVM
    【转】支付系统
    springcloud搭建高可用注册中心的时候注册中心在unavailable-replicas中的问题
    springboot+javafx所有依赖一起打包
  • 原文地址:https://www.cnblogs.com/pavkoo/p/3405055.html
Copyright © 2011-2022 走看看