C++中如何创建进程

avatar
作者
猴君
阅读量: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创建的子进程是一个线程而不是一个独立的进程,因此不会共享父进程的变量。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!