若文章对你有帮助请点个👍👍👍, 表示对我的鼓励, 非常感谢 ❤️❤️❤️
背景
工作过程中,要定义任务的状态有哪些. 于是突发奇想要了解一下linux的进程状态管理.
研究方式
先查看相关文章, 得知进程状态相关的方法论, 最后通过查看linux文档的方式,理论结合实际.
方法论
三态
运行态,就绪态,阻塞态.
通过上图可以发现, 三态有如下问题:
- 进程僵死, (进程已经结束,但是没有被父进程回收)
- 阻塞状态, 区分不够细致. 比如IO,锁,主动睡眠等.
五态
新建态,就绪态,运行态,等待态,终止态.
查看linux文档
通过查看linux文档. man ps.可以查看具体操作系统的进程状态. 进程的状态应该是与内核有关.
Max OSX
在Max OSX 10.14.5上面,通过man ps查看文档.
用户可以看到的进程状态有6种.
Centos
在Centos中. 通过man ps查看文档.
用户可以看到的进程状态有8种.
🌰 查看 Mac OSX 的进程
通过ps au 查看进程.
只有一个进程是在运行,其余的都在睡眠(并且少于20秒).