1.单独运行hh
test@ubuntu:~/test$ ./hh
asctime :Tue Nov 6 19:23:06 2018
ctime:Tue Nov 6 19:23:06 2018
2 运行execl,在execl中调用hh
test@ubuntu:~/test$ gcc -o ex execl_fun.c
test@ubuntu:~/test$ ./ex
==============start execl==============
asctime :Tue Nov 6 19:23:51 2018
ctime:Tue Nov 6 19:23:51 2018
test@ubuntu:~/test$
3exel演示代码
#include<unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <math.h>
int main(void)
{
printf("\n==============start execl==============\n");
if(execl("./hh","hh",NULL)<0)
{
printf("********execl err***********\n");
exit(1);
}
printf("\n==============end execl and exit(0)==============\n");
exit(0);
}
4总结,execl调用另外一个进程以后,除了进程号不改变以外,其他所有的改变(包含堆栈,数据段,代码段)
网友评论