本文介绍: ececl,execlp,execle,execv,execvp //库函数execve //系统调用//pathname:新替换的程序的路径+名字//arg :传给新程序主函数的第一个参数,一般为程序的名字//arg 后面是剩余参数列表,参数个数可变,必须以空指针作为最后一个参数//系统调用//前五个是库函数,最后一个是系统调用,所以本质上上面5个都是通过第六个系统调用实现的也就是说,上面5个都是调用的execve,不过都是。
1.进程创建
执行了3次ps -f ,ps -f的父进程的ID(PPID)都是一样的,即bash.
实际上Linux上这个bash就是不断的复制自身,然后把复制出来的用exec替换成想要执行的程序(比如ps);
运行ps,发现ps是bash的一个子进程;原因就是bash把自己复制一份,然后替换成ps;
2.进程替换exec系列介绍
例1:execl
例2:execlp
例3:execle
例4:execv
例5:execvp
例6:execve
3.总结:
4.环境变量也可以自己添加
5.进程替换的应用
6.进程创建示例
1).创建ps命令-execl的使用(结合fork 1)
2.fork和exec联合使用创建一个全新的进程(结合 fork2 )
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。