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()指定的可执行程序不带路径名