C++中怎么创建新的进程

avatar
作者
猴君
阅读量:0

在C++中创建新的进程有多种方法,以下是其中一种主要方法:

  1. 使用fork()exec()函数:
#include <iostream> #include <unistd.h> #include <sys/wait.h>  int main() {     pid_t pid = fork();          if (pid < 0) {         std::cerr << "Failed to fork process" << std::endl;         return 1;     } else if (pid == 0) {         // 子进程         execl("/path/to/your/executable", "executable_name", NULL);                  // 如果exec()执行失败         std::cerr << "Failed to execute process" << std::endl;         return 1;     } else {         // 父进程         int status;         waitpid(pid, &status, 0);                  if (WIFEXITED(status)) {             std::cout << "Child process exited with status: " << WEXITSTATUS(status) << std::endl;         }     }          return 0; } 

在上面的示例中,首先使用fork()创建一个新的进程,然后在子进程中使用execl()函数执行另一个可执行文件。父进程会等待子进程执行完毕,并获取子进程的结束状态。如果想在子进程中执行C++代码,可以使用execl()调用自己的可执行文件路径。

广告一刻

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