Windows并发&异步编程(0)创建、终止进程

本文介绍了Windows下通过CreateProcess创建进程的详细步骤,包括初始化参数、等待子进程、关闭句柄和终止进程的操作。示例代码展示了如何简单地创建和管理进程,强调了正确关闭句柄以防止内核对象泄露的重要性。
摘要由CSDN通过智能技术生成

上大学那会,知道进程是分配资源的最小单位,而线程是处理机分配的最小单位(执行最小单位)。很多时候创建进程是一种极大的浪费,但是有时候创建进程是必要的。一种很常见的情况,在程序运行时,需要运行一个其他的exe程序,这时候可以创建进程,Windows中使用CreateProcess创建一个进程….


目录:

扒一下CreateProcess

Windows下,这个创建进程API,参数还是蛮多的。

CreateProcess(
_In_opt_ LPCSTR lpApplicationName,  //demo.exe
_Inout_opt_ LPSTR lpCommandLine,    //param1 param2
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,//NULL,不继承进程句柄
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, //NULL,不继承线程句柄
_In_ BOOL bInheritHandles,          //FALSE,不继承句柄
_In_ DWORD dwCreationFlags,         //0,无标识[0,CREATE_NEW_CONSOLE,DEBUG_PROCESS]
_In_opt_ LPVOID lpEnvironment,      //NULL,使用父环境变量
_In_opt_ LPCSTR lpCurrentDirectory, //NULL,使用父进程路径作为当前目录
_In_ LPSTARTUPINFOA lpStartupInfo,  //NULL,无启动信息
_Out_ LPPROCESS_INFORMATION lpProcessInformation //[out]保存了进程信息
);

上面这个是从VS2013中拷贝出来的,后面的注释是参考了《精通Windows API——函数、接口、编程实例》一书。

需要吐槽一下,

  • CREATE_NEW_CONSOLE ,这个命令会弹出一个新DOS界面,运行新进程。如果直接传入0,那么就在同一个DOS界面跑父子进程了。
  • CreateProc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值