7月4日笔记-进程
2015年07月04日
学习内容出自:一步步学习Linux多任务编程
- 僵尸进程
如果进程不调用wait()或waitpid(),进程号会一直占用
子进程已运行,父进程未调用wait()或waitpid()函数回收子进程的资源是子进程变为僵尸进程的原因
查看进程状态命令:ps -ef | greo defunt
- 特殊进程之孤儿进程
父进程运行结束,子进程还在运行
- 特殊进程之守护进程
守护进程独立于控制终端,并周期性的执行某种任务,或等待处理某些发生的事件
注:在Linux中,当终端被关闭时,相应的进程也会关闭
查看守护进程:ps axj
进程与控制终端、登录会话与进程组之间的关系:进程属于一个进程组,进程组号GID就是进程组长的进程号PID,登录会话包含多个进程组
- 进程替换,exec函数族
exec函数族的作用是在调用的进程内部执行一个可执行文件
exec只是用另一个新程序替换了当前进程的正文,数据,堆和栈段
注:exec函数执行成功后不会返回,且exec下面的代码执行不到,失败时返回-1,从原程序调用点接着往下运行
execv()与execl():execv()将列表传参改为用指针数组
execlp()与execvp():execlp()指定的可执行程序不带路径名