C++ 的 exec
函数本身不能直接执行多条命令,但可以通过组合使用多个 exec
函数来实现执行多条命令。以下是一个示例:
#include#include #include 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
命令。这样就可以在同一个进程中顺序执行多条命令。