在 Linux 下进行 C++ 的多进程编程,可以使用 POSIX 线程(pthread)库或者 System V IPC
#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <pthread.h>
void* child_process(void* arg) {
std::cout << "Hello from child process! My PID is " << getpid() << std::endl;
return nullptr;
}
int main() {
pid_t pid = fork();
if (pid < 0) {
std::cerr << "Fork failed!" << std::endl;
return 1;
} else if (pid == 0) { // 子进程
child_process(nullptr);
exit(0);
} else { // 父进程
int status;
wait(&status); // 等待子进程完成
std::cout << "Child process finished with status " << WEXITSTATUS(status) << std::endl;
}
return 0;
}
g++ -o multi_process multi_process.cpp -lpthread
./multi_process
这个示例展示了如何使用 POSIX 线程库创建一个简单的多进程程序。你可以根据需要修改代码以满足你的需求。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。