僵尸进程,孤儿进程是如何产生

僵尸进程,孤儿进程是如何产生

     通过pstree我们可以查询当前进程的树形结构图,无疑init进程是所有进程的直接或者间接地老子;所有的进程都不是全新的创建,而是通过现有的进程来创建的,所以所有的进程的关系不是兄弟便是直接或间接地父子关系;init进程是所有进程的祖先,其他的进程都是由init直接或者间接fork出来的;

     进程有哪些状态:

    D:不可中断的sleep
     R:运行状态
     S:可中断睡眠
     T:暂停
     W:分页状态
     X:死亡状态
     Z:僵尸进程
     <:高优先级别
     N:低优先级别
     L:页锁定
     s:Session Leader
     l:多线程
     +:前台进程

僵尸进程:

     有时候我们会发现,有的已经实际不存在的进程却占着一个进程树的节点,它没有占用内存和CPU资源;它就是我们说的僵尸进程;僵尸进程是由于子进程先于父进程退出,子进程的资源已经释放,但子进程在系统的进程管理树种占用一个节点;系统保留此节点的意义在于,让父进程处理子进程的退出;子进程退出时发送信号给父进程,便于父进程处理子进程完成的数据,做到多任务协调工作;

孤儿进程:

     父进程先于子进程结束,那么子进程就没有了父进程,时候系统释放了父进程的所有资源,子进程就会成为init进程,也就是跟进程的子进程,此时子进程称为孤儿进程;孤儿进程没有任何危害,父进程的退出也会通过信号的方式通知子进程;

猜你喜欢

转载自blog.csdn.net/qq_25408423/article/details/82929736