linux 用execlp使子进程生成正在运行的用户进程列表
时间: 2024-05-02 09:20:23 浏览: 75
获取当前进程的列表
在 Linux 中,可以使用 execlp 函数来启动一个新进程,并在新进程中执行指定的命令。为了生成正在运行的用户进程列表,可以在 execlp 函数中调用 ps 命令,如下所示:
```
execlp("ps", "ps", "aux", NULL);
```
其中,第一个参数是要执行的命令,第二个参数是命令的参数,最后一个参数必须设置为 NULL。
在执行完 execlp 函数后,当前进程会被替换为新进程,因此需要在父进程中调用 wait 函数等待子进程结束。
完整的示例代码如下:
```
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
int main()
{
pid_t pid = fork();
if (pid == -1) {
perror("fork");
return 1;
} else if (pid == 0) {
execlp("ps", "ps", "aux", NULL);
perror("execlp");
return 1;
} else {
wait(NULL);
printf("Child process finished.\n");
}
return 0;
}
```
运行该程序后,可以在终端上看到当前正在运行的用户进程列表。
阅读全文