使用execl()函数,在子进程内运行ps -ef命令。 (2)使用exec函数族中的其它5个函数,实现同样的功能。
时间: 2024-03-11 13:50:55 浏览: 55
1. 使用execl()函数,在子进程内运行ps -ef命令:
```c
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
pid = fork();
if (pid == 0) {
execl("/bin/ps", "ps", "-ef", NULL);
printf("exec error!\n");
}
return 0;
}
```
2. 使用exec函数族中的其它5个函数,实现同样的功能:
```c
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
char *const args[] = {"ps", "-ef", NULL};
pid = fork();
if (pid == 0) {
execv("/bin/ps", args);
printf("exec error!\n");
}
return 0;
}
```
```c
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
char *const args[] = {"ps", "-ef", NULL};
char *const envp[] = {NULL};
pid = fork();
if (pid == 0) {
execve("/bin/ps", args, envp);
printf("exec error!\n");
}
return 0;
}
```
```c
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
char *const args[] = {"ps", "-ef", NULL};
pid = fork();
if (pid == 0) {
execvp("ps", args);
printf("exec error!\n");
}
return 0;
}
```
```c
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
char *const args[] = {"ps", "-ef", NULL};
char *const envp[] = {NULL};
pid = fork();
if (pid == 0) {
execvpe("ps", args, envp);
printf("exec error!\n");
}
return 0;
}
```
阅读全文