質問: linuxでプロセスが持つすべてのスレッドの詳細を確認する方法はありますか? windowsの場合、 process explorer はプロセスの下のすべてのスレッドを表示すると思います。特定のプロセスが生成しているすべてのスレッドに関する詳細を表示できるlinux用の同様のコマンドラインユーティリティはありますか?もっと明確にすべきだったと思います。 プロセス階層を表示したくないが、特定のプロセスによって生成されたすべてのスレッドのリストこのスクリーンショットを見るこれをlinuxで実現するにはどうすればよいですか?ありがとうございます!
回答: プロセス情報を表示する2つの標準ツールはpsとtop(およびhtopは類似しています/improved)。ノート: 多くのプログラムは、スレッドの見かけ上の名前を意味のあるものに変更します。以下のツールは、バイナリ名またはその見かけ上の名前を表示できます(以下の例のpid 1086を確認してください)。 以下の例では、答えを短くするためにほとんどのプロセスを削除しています。 以下のコマンド引数の例は一般的なものです。代替オプションについては、マンページを確認してください(ps -m、ps m、ps h...) top -hを使用した、すべてまたはプロセスのリアルタイムビューtop - 16:24:42 up 3:49, 3 users, load average: 0.23, 0.29, 0.31 threads: 503 total, 2 running, 501 sleeping, 0 stopped, 0 zombie %cpu(s): 9.7 us, 1.6 sy, 0.0 ni, 88.5 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st kib mem: 3938668 total, 2148708 used, 1789960 free, 133524 buffers kib swap: 3903484 total, 0 used, 3903484 free. 822904 cached mem pid user pr ni virt res shr s %cpu %mem time+ command 1054 root 20 0 258664 3524 2692 s 0.0 0.1 0:00.00 rsyslogd 1086 root 20 0 258664 3524 2692 s 0.0 0.1 0:00.03 in:imuxsock 1087 root 20 0 258664 3524 2692 s 0.0 0.1 0:00.00 in:imklog 1090 root 20 0 258664 3524 2692 s 0.0 0.1 0:00.05 rs:main q:reg 2452 fpiat 20 0 25292 7520 3580 s 0.0 0.2 0:00.69 bash 2495 fpiat 20 0 25088 6988 3256 s 0.0 0.2 0:00.05 bash ps -elfを使用したすべてのプロセスとスレッドのインスタントビュー$ ps -elf uid pid ppid lwp c nlwp stime tty time cmd root 1054 1 1054 0 4 12:34 ? 00:00:00 /usr/sbin/rsyslogd -n root 1054 1 1086 0 4 12:34 ? 00:00:00 /usr/sbin/rsyslogd -n root 1054 1 1087 0 4 12:34 ? 00:00:00 /usr/sbin/rsyslogd -n root 1054 1 1090 0 4 12:34 ? 00:00:00 /usr/sbin/rsyslogd -n franklin 2452 2448 2452 0 1 12:35 pts/0 00:00:00 /bin/bash franklin 2495 2448 2495 0 1 12:36 pts/1 00:00:00 /bin/bash ps -tを使用したプロセスのスレッド情報ps -t -c rsyslogd pid spid tty time cmd 1054 1054 ? 00:00:00 rsyslogd 1054 1086 ? 00:00:00 in:imuxsock 1054 1087 ? 00:00:00 in:imklog 1054 1090 ? 00:00:00 rs:main q:reg (注:プロセスを選択するには、オプション-c commandまたは-p pidを使用してください)カスタムpsを使用したプロセスのスレッド情報の詳細$ ps -l -o pid,lwp,pri,nice,start,stat,bsdtime,cmd,comm -c rsyslogd pid lwp pri ni started stat time cmd command 1054 1054 19 0 12:34:53 ssl 0:00 /usr/sbin/rsyslogd -n rsyslogd 1054 1086 19 0 12:34:53 ssl 0:00 /usr/sbin/rsyslogd -n in:imuxsock 1054 1087 19 0 12:34:53 ssl 0:00 /usr/sbin/rsyslogd -n in:imklog 1054 1090 19 0 12:34:53 ssl 0:00 /usr/sbin/rsyslogd -n rs:main q:reg