有些時候需要確實進程內部當前運行著多少線程,那么以下幾個方法值得一用。
從事達州托管服務器,服務器租用,云主機,網絡空間,申請域名,CDN,網絡代維等服務。
1.根據進程號進行查詢:
# pstree -p 進程號
# top -Hp 進程號
2.根據進程名字進行查詢:
# pstree -p `ps -e | grep server | awk '{print $1}'`
# pstree -p `ps -e | grep server | awk '{print $1}'` | wc -l
這里利用了管道和命令替換,
關于命令替換,我也是今天才了解,就是說用``括起來的命令會優先執行,然后以其輸出作為其他命令的參數,
上述就是用 ps -e | grep server | awk '{print $1}' 的輸出(進程號),作為 pstree -p 的參數
管道和命令替換的區別是:
管道:管道符號"|"左邊命令的輸出作為右邊命令的輸入
命令替換:將命令替換符"``"中命令的輸出作為其他命令相應位置的參數
1。 使用top命令,具體用法是 top -H
加上這個選項,top的每一行就不是顯示一個進程,而是一個線程。
2。 使用ps命令,具體用法是 ps -xH
這樣可以查看所有存在的線程,也可以使用grep作進一步的過濾。
3。 使用ps命令,具體用法是 ps -mq PID
這樣可以看到指定的進程產生的線程數目。
更進一步,其實一些系統監控工具,在本質上也是讀取的系統產生的文件罷了。比如說進程這個事情,
看看這個目錄吧,/proc/5000/ 這里面有你所有想要的。其實stat代表著當前的一些信息。
使用ps命令來查看進程的時候,進程狀態分別對應的含義如下:
D 不可中斷睡眠 (通常是在IO操作) 收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生
R 正在運行或可運行(在運行隊列排隊中)
S 可中斷睡眠 (休眠中, 受阻, 在等待某個條件的形成或接受到信號)
T 已停止的 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行
W 正在換頁(2.6.內核之前有效)
X 死進程 (未開啟)
Z 僵尸進程 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放BSD風格的
高優先級(not nice to other users)
N 低優先級(nice to other users)
L 頁面鎖定在內存(實時和定制的IO)
s 一個信息頭
l 多線程(使用 CLONE_THREAD,像NPTL的pthreads的那樣)
+ 在前臺進程組
方法一:PS
在ps命令中,“-T”選項可以開啟線程查看。下面的命令列出了由進程號為pid的進程創建的所有線程。
$ ps -T -p pid
“SID”欄表示線程ID,而“CMD”欄則顯示了線程名稱。
方法二: Top
top命令可以實時顯示各個線程情況。要在top輸出中開啟線程查看,請調用top命令的“-H”選項,該選項會列出所有Linux線程。在top運行時,你也可以通過按“H”鍵將線程查看模式切換為開或關。
$ top -H
要讓top輸出某個特定進程pid并檢查該進程內運行的線程狀況:
$ top -H -p pid
方法三: Htop
一個對用戶更加友好的方式是,通過htop查看單個進程的線程,它是一個基于ncurses的交互進程查看器。該程序允許你在樹狀視圖中監控單個獨立線程。
要在htop中啟用線程查看,請開啟htop,然后按F2來進入htop的設置菜單。選擇“設置”欄下面的“顯示選項”,然后開啟“樹狀視圖”和“顯示自定義線程名”選項。按F10退出設置。
Linux系統查看某個進程的線程數可以通過ps命令來進行查詢。以firefox進程為例。
1、查看firefox的進程pid,如下圖所示,firefox的進程pid為3168。
2、查看firefox中的線程數和線程ID,如下圖所示,
其中NLWP
列為線程數
LWP列為線程ID,可見firefox有線程數50。
分享題目:linux查詢線程的命令 linux線程查詢指令
分享網址:http://vcdvsql.cn/article28/doiegcp.html
成都網站建設公司_創新互聯,為您提供小程序開發、域名注冊、軟件開發、云服務器、虛擬主機、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯