介绍:
execl execlp 常用
NAME
execl, execlp, execle, execv, execvp, execvpe - execute a file
EXEC(3) Linux Programmer's Manual EXEC(3)
NAME
execl, execlp, execle, execv, execvp, execvpe - execute a file
SYNOPSIS
#include <unistd.h>
extern char **environ;
int execl(const char *pathname, const char *arg, ...
/* (char *) NULL */);
int execlp(const char *file, const char *arg, ...
/* (char *) NULL */);
int execle(const char *pathname, const char *arg, ...
/*, (char *) NULL, char *const envp[] */);
int execv(const char *pathname, char *const argv[]);
int execvp(const char *file, char *const argv[]);
int execvpe(const char *file, char *const argv[],
char *const envp[]);
#include <unistd.h>
#include <stdio.h>
int main(){
//创建一个子进程,执行execl族中的函数
pid_t pid = fork();
if(pid > 0){
//如果大于0,返回的是创建的子进程的PID号,当前是父进程
printf("i am parent process,pid : %d\n",getpid());
sleep(1);
}else if(pid == 0){
// 当前是子进程
execl("hello","hello",NULL);
printf("i am child process pid=%d\n",getpid());
}
for (int i = 0; i < 3; i++)
{
/* code */
printf("i = %d,pid = %d\n",i,getpid());
}
}
父进程延时一秒,父进程退出。子进程输出Hello World