c++启动分离子进程
时间: 2024-09-12 09:17:50 浏览: 31
在C++中,你可以通过标准库`std::fork()`函数启动一个新的子进程。`fork()`函数会创建一个新的进程副本,这个新进程被称为子进程,而原来的进程被称为父进程。下面是一个简单的例子:
```cpp
#include <iostream>
#include <unistd.h>
int main() {
// 使用fork()创建子进程
pid_t pid = fork();
if (pid == 0) { // 子进程分支
std::cout << "I am the child process, my PID is: " << getpid() << std::endl;
// 这里是子进程的代码...
} else if (pid > 0) { // 父进程分支
std::cout << "I am the parent process, my PID is: " << getpid() << ". Child process ID: " << pid << std::endl;
// 可以选择等待子进程结束,也可以继续执行其他任务
wait(NULL); // 如果你想阻塞直到子进程结束
} else { // fork失败,通常返回负数
std::cerr << "Fork failed!" << std::endl;
return -1;
}
return 0;
}
```
在这个示例中,如果`fork()`成功,那么它将返回0给子进程,大于0的值给父进程。子进程通常会在执行完代码后自动退出;而父进程可以继续执行后续操作,并可以选择等待子进程完成。
阅读全文