阅读量:0
在C++中创建进程可以使用系统调用函数fork()
或者使用C++11标准库中的std::thread
。以下是两种方法的示例代码:
1、使用fork()
函数创建进程:
#include <iostream> #include <unistd.h> int main() { pid_t pid = fork(); if (pid < 0) { std::cerr << "Error creating child process" << std::endl; } else if (pid == 0) { // Child process std::cout << "Child process created" << std::endl; } else { // Parent process std::cout << "Parent process created" << std::endl; } return 0; }
2、使用std::thread
创建进程:
#include <iostream> #include <thread> void childProcess() { std::cout << "Child process created" << std::endl; } int main() { std::thread childThread(childProcess); if (childThread.joinable()) { childThread.join(); } std::cout << "Parent process created" << std::endl; return 0; }
需要注意的是,使用fork()
函数创建的子进程会复制父进程的内存空间,因此父子进程之间会共享变量。而使用std::thread
创建的子进程是一个线程而不是一个独立的进程,因此不会共享父进程的变量。