exectest.c
来自「基于linux的系统编程程序」· C语言 代码 · 共 33 行
C
33 行
/* exec.c */
#include <unistd.h>
main()
{
/*定义参数*/
char *envp[]={"PATH=/tmp", "USER=lei", "STATUS=testing",NULL};
char *argv_execv[]={"echo", "excuted by execv", NULL};
char *argv_execvp[]={"echo", "executed by execvp", NULL};
char *argv_execve[]={"env", NULL};
/*全部在子进程运行*/
if(fork()==0)
if(execl("/bin/echo", "echo", "executed by execl", NULL)<0) //调用echo命令,参数:executed by execl
perror("Err on execl");
if(fork()==0)
if(execlp("echo", "echo", "executed by execlp", NULL)<0)//调用echo命令,参数:executed by execlp
perror("Err on execlp");
if(fork()==0)
if(execle("/usr/bin/env", "env", NULL, envp)<0) //env命令,打印当前环境envp
perror("Err on execle");
if(fork()==0)
if(execv("/bin/echo", argv_execv)<0) //echo命令,参数argv_execv指向的内容
perror("Err on execv");
if(fork()==0)
if(execvp("echo", argv_execvp)<0) //echo命令,参数argv_execvp指向的内容
perror("Err on execvp");
if(fork()==0)
if(execve("/usr/bin/env", argv_execve, envp)<0) //env命令
perror("Err on execve");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?