c++创建多进程,使用cmd开启进程
时间: 2024-01-07 16:06:16 浏览: 129
可以使用Windows API中的CreateProcess函数在C++中创建多进程,并使用cmd.exe来启动这些进程。以下是一个示例代码:
```c++
#include <windows.h>
#include <iostream>
int main() {
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
// 创建第一个进程
if (!CreateProcess(NULL, "cmd.exe /c ping -n 5 127.0.0.1", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
std::cout << "创建进程1失败" << std::endl;
return 1;
}
// 创建第二个进程
if (!CreateProcess(NULL, "cmd.exe /c dir", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
std::cout << "创建进程2失败" << std::endl;
return 1;
}
// 等待进程结束
WaitForSingleObject(pi.hProcess, INFINITE);
// 关闭句柄
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;
}
```
这个程序将会创建两个进程,第一个进程使用ping命令来向localhost发送5个ICMP数据包,第二个进程使用dir命令来列出当前目录下的文件。最后,程序等待进程结束,并关闭这两个进程的句柄。
阅读全文