Linux上如何查看某個進程的線程
Linux上顯示某個進程的線程的有哪些方式呢。是怎么查看的呢?下面是學習啦小編收集整理的Linux上如何查看某個進程的線程,希望對大家有幫助~~
Linux上查看某個進程的線程的方法
方法/步驟
問題: 我的程序在其內(nèi)部創(chuàng)建并執(zhí)行了多個線程,我怎樣才能在該程序創(chuàng)建線程后監(jiān)控其中單個線程?我想要看到帶有它們名稱的單個線程詳細情況(如,CPU/內(nèi)存使用率)。
線程是現(xiàn)代操作系統(tǒng)上進行并行執(zhí)行的一個流行的編程方面的抽象概念。當一個程序內(nèi)有多個線程被叉分出用以執(zhí)行多個流時,這些線程就會在它們之間共享 特定的資源(如,內(nèi)存地址空間、打開的文件),以使叉分開銷最小化,并避免大量高成本的IPC(進程間通信)通道。這些功能讓線程在并發(fā)執(zhí)行時成為一個高 效的機制。
在Linux中,程序中創(chuàng)建的線程(也稱為輕量級進程,LWP)會具有和程序的PID相同的“線程組ID”。然后,各個線程會獲得其自身的線程 ID(TID)。對于Linux內(nèi)核調(diào)度器而言,線程不過是恰好共享特定資源的標準的進程而已。經(jīng)典的命令行工具,如ps或top,都可以用來顯示線程級 別的信息,只是默認情況下它們顯示進程級別的信息。
這里提供了在Linux上顯示某個進程的線程的幾種方式。
方法一:PS
在ps命令中,“-T”選項可以開啟線程查看。下面的命令列出了由進程號為
1.$ ps -T -p
“SID”欄表示線程ID,而“CMD”欄則顯示了線程名稱。
方法二: Top
top命令可以實時顯示各個線程情況。要在top輸出中開啟線程查看,請調(diào)用top命令的“-H”選項,該選項會列出所有Linux線程。在top運行時,你也可以通過按“H”鍵將線程查看模式切換為開或關。
1.$ top -H
要讓top輸出某個特定進程
$ top -H -p
方法三: Htop
一個對用戶更加友好的方式是,通過htop查看單個進程的線程,它是一個基于ncurses的交互進程查看器。該程序允許你在樹狀視圖中監(jiān)控單個獨立線程。
要在htop中啟用線程查看,請開啟htop,然后按
現(xiàn)在,你就會看到下面這樣單個進程的線程視圖。
Linux上如何查看某個進程的線程相關文章: