TIDからPIDを取得する

TIDからPIDを取得する

私は走るiotop優先順位を下げる必要がある場合に備えて、ディスクの多いプログラムを確認してください。通常、これで十分ですが、iotopスレッドID(TID)のみが表示されます。時には、どのプロセスが担当しているかについての詳細な情報を見つけることができるように、プロセスID(PID)を知りたいと思います。

残念ながら、psTID(SPID、LWPとも呼ばれます)を表示することは可能ですが、PIDリストと同様にTIDリストを取得するフラグはありません--pid。私ができることはTIDをリストしてからgrep出力をリストすることだけです。たとえば、スレッドIDが792の場合、次のことができます。

$ ps -eLf | grep ' 792 '

効果はかなりいいのにちょっととんでもないですね。

もっと良い方法がありますか?

ベストアンサー1

いつでも次のことができます。

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

おすすめ記事