使用c++编写一个多进程程序代码(包含具体实例)
时间: 2024-10-25 07:12:25 浏览: 16
Visual C++源代码 28 如何禁止程序同时运行两个
在C++中,使用`fork()`函数可以创建一个新进程。下面是一个简单的例子,展示了如何创建并运行两个独立的进程,每个进程中打印出"Hello from child":
```cpp
#include <iostream>
#include <unistd.h> // 包含 fork() 函数
// 父进程函数
void parent_process() {
pid_t child_pid = fork(); // 创建子进程
if (child_pid == 0) { // 子进程
std::cout << "Hello from child process." << std::endl;
exit(0); // 子进程退出
} else if (child_pid > 0) { // 父进程
wait(NULL); // 等待子进程结束
std::cout << "Child process finished." << std::endl;
} else {
std::cerr << "Fork failed with error: " << perror("Error") << std::endl;
exit(1);
}
}
int main() {
std::cout << "Parent process started." << std::endl;
parent_process(); // 调用父进程函数
return 0;
}
```
在这个例子中,`parent_process()`首先通过`fork()`创建了一个新的子进程。如果返回值为0,说明这是子进程,它会直接打印消息并退出。如果返回值大于0,那么当前进程就是父进程,等待子进程结束后再继续执行。
注意,`wait()`函数在这里是为了保证父进程不会立即结束,直到子进程结束。
阅读全文