linux中进程的六种状态:RSDTZX
R:运行态
S:休眠态
D:磁盘休眠态
T:停止态
Z:僵尸态
X:死亡态
僵尸进程是什么:
在linux系统中一个子进程结束了,但是其父进程没有结束在处理其他事情并没有等待它(调用wait,waited),那么它将变成一个僵尸进程。僵尸进程是一个早已经死亡的进程,但是它在进程表中仍然占用着一个位置。但是当它的父进程先结束时,它便不会变成僵尸进程,是因为当每个进程结束后,系统会扫描所有进程,看看有没有那个进程是刚刚结束的进程的子进程。如果有的话就会被init接管,成为它的父进程。而init进程会自动wait其子进程。因此被init接管的所有进程都不会变为僵尸进程。
孤儿进程:
孤儿进程是子进程还在运行,而父进程挂了,子进程被init进程收养。僵尸进程是父进程还在运行但是子进程挂了,但是父进程却没有使用wait来清理子进程的进程信息,导致子进程虽然运行实体已经消失,但是仍然在内核的进程表中占据一条记录,这样长期下去对于系统资源是一个浪费。僵尸进程将会导致资源浪费,而孤儿则不会。
原文链接:https://blog.csdn.net/dream_1996/article/details/71001006
查看僵尸进程:通过top命令或者ps -A ostat,ppid,pid,cmd |grep -e ‘^[Zz]’
杀死僵尸进程的原理。
直接通过kill
+:前台进程
l:多线程进程
N:低优先级进程
<:高优先级进程
s:session leader
https://blog.csdn.net/u010150046/article/details/76461316