方法一:PS
創(chuàng)新互聯(lián)建站長期為上千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為三河企業(yè)提供專業(yè)的網(wǎng)站建設、成都網(wǎng)站建設,三河網(wǎng)站改版等技術服務。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
在ps命令中,“-T”選項可以開啟線程查看。下面的命令列出了由進程號為pid的進程創(chuàng)建的所有線程。
$ ps -T -p pid
“SID”欄表示線程ID,而“CMD”欄則顯示了線程名稱。
方法二: Top
top命令可以實時顯示各個線程情況。要在top輸出中開啟線程查看,請調(diào)用top命令的“-H”選項,該選項會列出所有Linux線程。在top運行時,你也可以通過按“H”鍵將線程查看模式切換為開或關。
$ top -H
要讓top輸出某個特定進程pid并檢查該進程內(nèi)運行的線程狀況:
$ top -H -p pid
方法三: Htop
一個對用戶更加友好的方式是,通過htop查看單個進程的線程,它是一個基于ncurses的交互進程查看器。該程序允許你在樹狀視圖中監(jiān)控單個獨立線程。
要在htop中啟用線程查看,請開啟htop,然后按F2來進入htop的設置菜單。選擇“設置”欄下面的“顯示選項”,然后開啟“樹狀視圖”和“顯示自定義線程名”選項。按F10退出設置。
Linux系統(tǒng)查看某個進程的線程數(shù)可以通過ps命令來進行查詢。以firefox進程為例。
1、查看firefox的進程pid,如下圖所示,firefox的進程pid為3168。
2、查看firefox中的線程數(shù)和線程ID,如下圖所示,
其中NLWP
列為線程數(shù)
LWP列為線程ID,可見firefox有線程數(shù)50。
Linux下獲取當前線程ID號函數(shù):pthread_t pthread_self();
返回:當前線程的ID號
pthread_t 數(shù)據(jù)類型的定義如下:
typedef unsigned long int pthread_t;
sizeof(pthread_t) = 4,4個字節(jié)的整數(shù)。
Windows下獲取當前線程ID號的函數(shù):
DWORD GetCurrentThreadId();
返回值:當前線程的ID號
DWORD數(shù)據(jù)類型定義:
typedef unsigned long DWORD;
在Windows下pthread-win庫的pthread_t定義如下: