Ps
從 TID 獲取 PID
我跑去
iotop
檢查那些重度磁碟使用者的程序,以防我需要降低它們的優先級。通常這已經足夠了,但iotop
只顯示執行緒 ID (TID),有時我想知道程序 ID (PID),以便了解更多關於哪個程序負責。不幸的是,雖然
ps
可以顯示 TID(又名 SPID,LWP),但它沒有一個標誌來獲取 TID 列表,就像它對帶有--pid
. 我能做的最好的就是列出 TID,然後grep
是輸出。例如,如果執行緒 id 是 792,我可以這樣做$ ps -eLf | grep ' 792 '
它工作得相當好,但有點不雅。
有沒有更好的辦法?
你總是可以這樣做:
ps -eLo pid= -o tid= | awk '$2 == 792 {print $1}'
在 Linux 上:
$ readlink -f /proc/*/task/792/../.. /proc/300
或與
zsh
:$ echo /proc/*/task/792(:h:h:t) 300