最近發(fā)現(xiàn)一個(gè)問(wèn)題,ps命令輸出里面進(jìn)程狀態(tài)為S+的含義,網(wǎng)上好多文章都說(shuō)是表明進(jìn)程“位于在后臺(tái)進(jìn)程組”。
例如下面這個(gè)ps命令輸出說(shuō)明:
D 不可中斷 Uninterruptible sleep (usually IO)
R 正在運(yùn)行,或在隊(duì)列中的進(jìn)程
S 處于休眠狀態(tài)
T 停止或被追蹤
Z 僵尸進(jìn)程
W 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開(kāi)始無(wú)效)
X 死掉的進(jìn)程
高優(yōu)先級(jí)
N 低優(yōu)先級(jí)
L 有些頁(yè)被鎖進(jìn)內(nèi)存
s 包含子進(jìn)程
+ 位于后臺(tái)的進(jìn)程組;
l 多線程,克隆線程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
但其實(shí)這是不對(duì)的,后面有加號(hào)說(shuō)明進(jìn)程是“位于在前臺(tái)進(jìn)程組”。也就是進(jìn)程可以使用鍵盤(pán)輸出。下面做一個(gè)試驗(yàn)證明這點(diǎn):
首先,在終端一個(gè)會(huì)話執(zhí)行一個(gè)sleep命令,讓其在前臺(tái)運(yùn)行。
![](/d/20211017/161a4d066b28d4cc7fe9fc8b0e82cbb1.gif)
接著,另啟一個(gè)終端會(huì)話,啟動(dòng)一個(gè)后臺(tái)運(yùn)行的sleep命令
![](/d/20211017/f08ecf1dbcd97d95c854857191ebd94d.gif)
使用ps查看進(jìn)程狀態(tài)
![](/d/20211017/7af91dc10d6ce6d8a9803f7c3b1f77e5.gif)
可以看出在前臺(tái)的進(jìn)程狀態(tài)為S+,而在后臺(tái)的sleep進(jìn)程狀態(tài)都是S
查詢ps命令的幫助,是說(shuō)”is in the foreground process group”,也可以證明我說(shuō)的這點(diǎn)。
![](/d/20211017/31c0390b2eba99bc812035e1457bccce.gif)
網(wǎng)上流傳的ps命令輸出說(shuō)明的錯(cuò)誤解釋非常多,我寫(xiě)這篇文章,希望能糾正一下
總結(jié)
以上所述是小編給大家介紹的ps命令輸出進(jìn)程狀態(tài)S后面加號(hào)的含義解析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
您可能感興趣的文章:- C++基于CreateToolhelp32Snapshot獲取系統(tǒng)進(jìn)程實(shí)例
- linux vps服務(wù)器進(jìn)程kswapd0與events/0消耗大量CPU的問(wèn)題
- python啟動(dòng)辦公軟件進(jìn)程(word、excel、ppt、以及wps的et、wps、wpp)
- 安裝ppstream后出現(xiàn)的ppsap.exe進(jìn)程解決辦法