进程 与 子进程 是一个什么概念呀?谁能举个例子说明一下
---------------------------------------------------
深入浅出mfc中,讲到,进程 产生 子进程 后,要剪断 子进程 的脐带.
使"进程" 与"子进程" 各自独立.我不明白上面的意思.
假如有文件 a.exe,
我双击 a.exe ,这个程序就执行了.
就这个过程来说, 父进程是谁,子进程又是谁呢?

解决方案 »

  1.   

    如果你这个a.exe没有特别的去创建一个进程的话,它就没有子进程子进程的创建  进程的创建通过CreateProcess()函数来实现,CreateProcess()通过创建一个新的进程及在其地址空间内运行的主线程来启动并运行一个新的程序。具体的,在执行CreateProcess()函数时,首先由操作系统负责创建一个进程内核对象,初始化计数为1,并立即为新进程创建一块虚拟地址空间。随后将可执行文件或其他任何必要的动态链接库文件的代码和数据装载到该地址空间中。在创建主线程时,也是首先由系统负责创建一个线程内核对象,并初始化为1。最后启动主线程并执行进程的入口函数WinMain(),完成对进程和执行线程的创建
      

  2.   

    这个过程中explorer.exe是父进程,a.exe是子进程。
      

  3.   

    子进程不像线程和功能函数一样,他可以处理非常复杂的操作,子进程可以访问父进程地址空间中的共享数据,实现通信。
    父进程在用CreateProcess创建子进程时,可得到子进程的hProcess,hThread,有了子进程的进程内核和主线程内核的句柄,可以进行相关操作,所以成为纽带
      

  4.   

    要剪断子进程的脐带,应该是说如果你用CreateProcess创建的进程,不需要对子进程进行操作后,应该CloseHandle关掉子进程句柄和其主线程句柄吧。
      

  5.   

    这个父进程是操作系统的守护进程
    如果你在a.exe里再创建线程,则所创建的线程是a.exe的子进程
      

  6.   

    CloseHandle();关闭句柄,内核对象使用计数减一,为0删除该内核对象
      

  7.   

    这方面
    Windows核心编程
    讲得很细
    LZ可以参考下