學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦安全>系統(tǒng)安全>

Linux上如何查看某個(gè)進(jìn)程的線程

時(shí)間: 林澤1002 分享

  Linux上顯示某個(gè)進(jìn)程的線程的有哪些方式呢。是怎么查看的呢?下面是學(xué)習(xí)啦小編收集整理的Linux上如何查看某個(gè)進(jìn)程的線程,希望對(duì)大家有幫助~~

  Linux上查看某個(gè)進(jìn)程的線程的方法

  方法/步驟

  問題: 我的程序在其內(nèi)部創(chuàng)建并執(zhí)行了多個(gè)線程,我怎樣才能在該程序創(chuàng)建線程后監(jiān)控其中單個(gè)線程?我想要看到帶有它們名稱的單個(gè)線程詳細(xì)情況(如,CPU/內(nèi)存使用率)。

  線程是現(xiàn)代操作系統(tǒng)上進(jìn)行并行執(zhí)行的一個(gè)流行的編程方面的抽象概念。當(dāng)一個(gè)程序內(nèi)有多個(gè)線程被叉分出用以執(zhí)行多個(gè)流時(shí),這些線程就會(huì)在它們之間共享 特定的資源(如,內(nèi)存地址空間、打開的文件),以使叉分開銷最小化,并避免大量高成本的IPC(進(jìn)程間通信)通道。這些功能讓線程在并發(fā)執(zhí)行時(shí)成為一個(gè)高 效的機(jī)制。

  在Linux中,程序中創(chuàng)建的線程(也稱為輕量級(jí)進(jìn)程,LWP)會(huì)具有和程序的PID相同的“線程組ID”。然后,各個(gè)線程會(huì)獲得其自身的線程 ID(TID)。對(duì)于Linux內(nèi)核調(diào)度器而言,線程不過是恰好共享特定資源的標(biāo)準(zhǔn)的進(jìn)程而已。經(jīng)典的命令行工具,如ps或top,都可以用來顯示線程級(jí) 別的信息,只是默認(rèn)情況下它們顯示進(jìn)程級(jí)別的信息。

  這里提供了在Linux上顯示某個(gè)進(jìn)程的線程的幾種方式。

  方法一:PS

  在ps命令中,“-T”選項(xiàng)可以開啟線程查看。下面的命令列出了由進(jìn)程號(hào)為的進(jìn)程創(chuàng)建的所有線程。

  1.$ ps -T -p

  “SID”欄表示線程ID,而“CMD”欄則顯示了線程名稱。

  方法二: Top

  top命令可以實(shí)時(shí)顯示各個(gè)線程情況。要在top輸出中開啟線程查看,請(qǐng)調(diào)用top命令的“-H”選項(xiàng),該選項(xiàng)會(huì)列出所有Linux線程。在top運(yùn)行時(shí),你也可以通過按“H”鍵將線程查看模式切換為開或關(guān)。

  1.$ top -H

  要讓top輸出某個(gè)特定進(jìn)程并檢查該進(jìn)程內(nèi)運(yùn)行的線程狀況:

  $ top -H -p

  方法三: Htop

  一個(gè)對(duì)用戶更加友好的方式是,通過htop查看單個(gè)進(jìn)程的線程,它是一個(gè)基于ncurses的交互進(jìn)程查看器。該程序允許你在樹狀視圖中監(jiān)控單個(gè)獨(dú)立線程。

  要在htop中啟用線程查看,請(qǐng)開啟htop,然后按來進(jìn)入htop的設(shè)置菜單。選擇“設(shè)置”欄下面的“顯示選項(xiàng)”,然后開啟“樹狀視圖”和“顯示自定義線程名”選項(xiàng)。按退出設(shè)置。

  現(xiàn)在,你就會(huì)看到下面這樣單個(gè)進(jìn)程的線程視圖。


Linux上如何查看某個(gè)進(jìn)程的線程相關(guān)文章:

1.關(guān)于linux的進(jìn)程中的各個(gè)線程cpu占用情況進(jìn)行分析和查看

2.線程和進(jìn)程的區(qū)別

3.怎么用linux命令查看進(jìn)程內(nèi)存占用情況

4.Linux中通過kill命令殺死指定進(jìn)程教程

5.Linux中查看進(jìn)程及殺死進(jìn)程命令

6.linux如何查看端口被哪個(gè)進(jìn)程占用的方法

7.Linux系統(tǒng)下,CPU信息詳解(cpuinfo,多核,多線程)

3089277