Nat*_*ver 11 ps thread pthreads
我运行iotop
以检查重度磁盘用户的程序,以防我需要降低它们的优先级。通常这已经足够了,但iotop
只显示线程 ID (TID),有时我想知道进程 ID (PID),以便我可以找到有关哪个进程负责的更多信息。
不幸的是,虽然ps
可以显示 TID(又名 SPID,LWP),但它没有一个标志来获取 TID 列表,就像处理带有--pid
. 我能做的最好的事情就是列出 TID,然后grep
是输出。例如,如果线程 id 是 792,我可以这样做
$ ps -eLf | grep ' 792 '
Run Code Online (Sandbox Code Playgroud)
这工作得相当好,但有点不优雅。
有没有更好的办法?
Sté*_*las 10
你总是可以这样做:
ps -eLo pid= -o tid= | awk '$2 == 792 {print $1}'
Run Code Online (Sandbox Code Playgroud)
在 Linux 上:
$ readlink -f /proc/*/task/792/../..
/proc/300
Run Code Online (Sandbox Code Playgroud)
或与zsh
:
$ echo /proc/*/task/792(:h:h:t)
300
Run Code Online (Sandbox Code Playgroud)