在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
创建的子进程是一个线程而不是一个独立的进程,因此不会共享父进程的变量。