ps命令輸出進程狀態(tài)S+的含義解析
最近發(fā)現(xiàn)一個問題,ps命令輸出里面進程狀態(tài)為S+的含義,網(wǎng)上好多文章都說是表明進程“位于在后臺進程組”。
例如下面這個ps命令輸出說明:
D 不可中斷 Uninterruptible sleep (usually IO) R 正在運行,或在隊列中的進程 S 處于休眠狀態(tài) T 停止或被追蹤 Z 僵尸進程 W 進入內(nèi)存交換(從內(nèi)核2.6開始無效) X 死掉的進程 < 高優(yōu)先級 N 低優(yōu)先級 L 有些頁被鎖進內(nèi)存 s 包含子進程 + 位于后臺的進程組; l 多線程,克隆線程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
但其實這是不對的,后面有加號說明進程是“位于在前臺進程組”。也就是進程可以使用鍵盤輸出。下面做一個試驗證明這點:
首先,在終端一個會話執(zhí)行一個sleep命令,讓其在前臺運行。

接著,另啟一個終端會話,啟動一個后臺運行的sleep命令

使用ps查看進程狀態(tài)

可以看出在前臺的進程狀態(tài)為S+,而在后臺的sleep進程狀態(tài)都是S
查詢ps命令的幫助,是說”is in the foreground process group”,也可以證明我說的這點。

網(wǎng)上流傳的ps命令輸出說明的錯誤解釋非常多,我寫這篇文章,希望能糾正一下
總結(jié)
以上所述是小編給大家介紹的ps命令輸出進程狀態(tài)S后面加號的含義解析,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
linux軟件版本管理命令update-alternatives使用詳解
這篇文章主要介紹了linux軟件版本管理命令update-alternatives使用詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
對Linux下shell編程之for循環(huán)的實例講解
今天小編就為大家分享一篇對Linux下shell編程之for循環(huán)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Shell腳本實現(xiàn)memcache緩存命中率監(jiān)控
這篇文章主要介紹了Shell腳本實現(xiàn)memcache緩存命中率監(jiān)控,這個腳本比較簡單,通過check_tcp腳本獲取memcached的stats信息,然后將該信息格式化成一個字符串,然后將get_hits比上cmd_gets就能得到緩存命中率,需要的朋友可以參考下2014-12-12

