exec族函数,运行程序,产生进程(路径+参数+[环境变量])
注意:exec族函数并不会创建一个新进程,而是将当前进程的地址空间替换为新程序。
int execl(const char *path, const char *arg, …);//参数1必须绝对路径
int execlp(const char *file, const char *arg, …);//参数1可为文件名,当要保证其在环境变量中
int execle(const char path, const char *arg,…, char const envp[]);
int execv(const char *path, char *const argv[]);
int execvp(const char *file, char *const argv[]);
#include <stdio.h>
#include <unistd.h>
void main()
{
printf("start...\n");
//一旦被附身,肉体不变,灵魂变了,地址空间pid都不变,执行的程序改变
execl("/bin/ping","/bin/ping","128.0.27.35",NULL);
//路径 //参数1 //参数2 //参数结束条件
printf("hello\n");//被替换,不会被执行,只执行ping