Linux下查看進程的線程 - pstree

有些時候須要確實進程內部當前運行着多少線程,那麼如下幾個方法值得一用。java

根據進程號進行查詢兩種方式:centos

  1. pstree -p 進程號 (centos下默認沒有安裝pstree,可經過yum -y install psmisc安裝)
  2. top -Hp 進程號
$ pstree -p 68919
java(68919)─┬─{java}(68920)
            ├─{java}(68921)
            ├─{java}(68922)
            ├─{java}(68923)
            ├─{java}(68924)
            ├─{java}(68925)
            ├─{java}(68926)
            ├─{java}(68927)
            ├─{java}(68928)
            ├─{java}(68929)
            ├─{java}(68930)
            ├─{java}(68935)
            ├─{java}(68936)
            ├─{java}(68937)
            ├─{java}(68938)
            ├─{java}(68939)
            ├─{java}(68940)
            ├─{java}(68941)
            ├─{java}(68942)
            ├─{java}(68943)
            ├─{java}(68944)
            ├─{java}(68945)
            ├─{java}(68946)
            ├─{java}(68947)
            ├─{java}(68948)
            ├─{java}(68949)
            ├─{java}(68950)
            ├─{java}(68951)
            └─{java}(68952)

 

2.根據進程名字進行查詢:bash

# pstree -p `ps -e | grep server | awk '{print $1}'`線程

# pstree -p `ps -e | grep server | awk '{print $1}'` | wc -lcode

這裏利用了管道和命令替換,server

關於命令替換,就是說用``括起來的命令會優先執行,而後以其輸出做爲其餘命令的參數,進程

上述就是用 ps -e | grep server | awk '{print $1}' 的輸出(進程號),做爲 pstree -p 的參數class

管道和命令替換的區別是:awk

管道:管道符號"|"左邊命令的輸出做爲右邊命令的輸入grep

命令替換:將命令替換符"``"中命令的輸出做爲其餘命令相應位置的參數

相關文章
相關標籤/搜索