温馨提示×

c++ exec函数能执行多条命令吗

c++
小樊
127
2024-12-07 12:38:38
栏目: 编程语言

C++ 的 exec 函数本身不能直接执行多条命令,但可以通过组合使用多个 exec 函数来实现执行多条命令。以下是一个示例:

#include <iostream> #include <unistd.h> #include <sys/wait.h> int main() { pid_t pid = fork(); if (pid == 0) { // 子进程 // 执行第一条命令 execl("/bin/ls", "ls", "-l", NULL); // 如果 execl 失败,输出错误信息并退出 perror("execl"); exit(EXIT_FAILURE); } else if (pid > 0) { // 父进程 // 等待子进程执行完毕 int status; wait(&status); // 执行第二条命令 execl("/bin/pwd", "pwd", NULL); // 如果 execl 失败,输出错误信息并退出 perror("execl"); exit(EXIT_FAILURE); } else { // fork 失败 perror("fork"); return EXIT_FAILURE; } return EXIT_SUCCESS; } 

在这个示例中,我们首先使用 fork() 创建一个子进程,然后在子进程中执行 ls -l 命令,在父进程中等待子进程执行完毕后,再执行 pwd 命令。这样就可以在同一个进程中顺序执行多条命令。

0