实现一个程序,用于在另一个进程中执行命令并输出结果。具体步骤如下:
以下是示例代码:
#include
#include
#include
#include
int main()
{
pid_t pid;
int status;
char *argv[] = { "ls", "-l", NULL };
if ((pid = fork()) == -1) {
perror("fork error");
exit(EXIT_FAILURE);
} else if (pid == 0) {
// 子进程
if (execvp(argv[0], argv) == -1) {
perror("execvp error");
exit(EXIT_FAILURE);
}
} else {
// 父进程
if (wait(&status) == -1) {
perror("wait error");
exit(EXIT_FAILURE);
}
if (WIFEXITED(status)) {
printf("child exited with status %d\n", WEXITSTATUS(status));
} else {
printf("child terminated abnormally\n");
}
}
return 0;
}
下一篇:apu在ubuntu下的表现