【3】如何创建独立子进程
来源:互联网 发布:知豆电动汽车是吉利 编辑:程序博客网 时间:2024/04/29 09:54
在windows编程中往往会需要创建一个子进程,在主进程中调用CreateProcess创建子进程成功后,此时的子进程的进程内核对象和主线程内核对象的使用计数会变成2,这样子进程在理论上不是独立的,虽然windows系统在创建子进程后父子进程的关系会断掉。所以,作为windows程序员需要养成一个好的习惯,那就是在主进程创建子进程后要记得关闭子进程相关句柄。
在创建子进程时,CreateProcess函数会接受一个结构体PROCESS_INFORMATION,此结构体在MSDN中如下描述:
typedef struct _PROCESS_INFORMATION { HANDLE hProcess; HANDLE hThread; DWORD dwProcessId; DWORD dwThreadId; } PROCESS_INFORMATION;
该结构体会获得子进程的进程内核句柄和主线程内核句柄,那么我们就可以通过CloseHandle函数来关闭这些句柄,来保证子进程的独立性,代码如下:
PROCESS_INFORMATION pi;BOOL fSuccess = CreateProcess(..., &pi);if (fSuccess){ CloseHandle(pi.hThread); CloseHandle(pi.hProcess);}
虽然简单,还是得注意哦~~~
0 0
- 【3】如何创建独立子进程
- 【操作系统】如何创建子进程?
- [Windows]_[初级]_[创建独立子进程和读取子进程的输出]
- 进程的基本概念以及如何创建子进程
- 如何创建一个子进程并分离出去运行
- linux系统如何使用fork函数创建子进程
- 创建子进程
- 创建子进程
- windows 创建子进程
- fork创建子进程
- 创建子进程函数
- 子进程的创建
- 子进程的创建
- fork创建子进程
- fork创建子进程
- python创建子进程
- linux 创建子进程
- Linux子进程创建
- http://poj.org/problem?id=1634
- POJ - 1392 Ouroboros Snake (欧拉回路的应用)
- hdu-oj 1005 Number Sequence
- wamp配置memcache
- 在不同activity之间数据传递
- 【3】如何创建独立子进程
- 添加usb工具设备的权限方法
- Mini音乐播放器_设计一
- maven异常问题及处理总结
- hdu 1010 Tempter of the Bone 解题报告
- POJ 2135 简单费用流
- 布隆过滤器
- ios textview光标往下偏移
- 0MQ - The Guide