进程状态与进程信号

进程状态:

upload successful

平时在查看linux进程状态时,查看最多的三个状态是R S D
R状态,不必多说,R就是running的缩写,即运行中的进程。
S 即 sleep进程,休眠进程。其又分为两种:
1)Interruptible Sleep(可中断睡眠,在ps命令中显示“S”)。处在这种睡眠状态的进程是可以通过给它发送signal来唤醒的,比如发HUP信号给nginx的master进程可以让nginx重新加载配置文件而不需要重新启动nginx进程;
2)Uninterruptible Sleep(不可中断睡眠,在ps命令中显示“D”)。处在这种状态的进程不接受外来的任何signal,无论是“kill”, “kill -9”还是“kill -15”,都无法杀掉这些处于D状态的进程。
D状态的进程通常是在等待IO,比如磁盘IO,网络IO,其他外设IO,可能也就意味着很有可能有IO出了问题。比如从远程挂载的NFS卷不可访问导致进程进入uninterruptible sleep状态的,那么可以通过恢复该NFS卷的连接来使进程的IO请求得到满足,除此之外,要想干掉处在D状态进程就只能重启整个Linux系统。

进程信号:
kill -l可以查看所有信号:

upload successful
但其实常用的也就几个:

upload successful