`ps`でスレッド/ LWPに関する情報を一覧表示するには?

`ps`でスレッド/ LWPに関する情報を一覧表示するには?

スレッド/ LWPに関する情報を一覧表示するにはps

なぜ私はこれを行うことができないのですか?

$ ps 10173
  PID TTY      STAT   TIME COMMAND
$ ps -L 10173
  PID   LWP TTY      STAT   TIME COMMAND

私ができる最善

$ ps -eL  | grep 10173
10172 10173 pts/8    00:00:00 java

LWPだから

$ ps -L 10172
  PID   LWP TTY      STAT   TIME COMMAND
10172 10172 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10173 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10174 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10175 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10176 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10177 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10178 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10179 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10180 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10181 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10182 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10183 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10184 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10185 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10186 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10187 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10188 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10189 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main
10172 10190 pts/8    Tl     0:00 java -cp target com.mycompany.app.Main

そして

$ pstree -pau -l -G -s 10172
systemd,1 splash
  └─lxterminal,3194,t
      └─bash,12150
          └─java,10172 -cp target com.mycompany.app.Main
              ├─{java},10173
              ├─{java},10174
              ├─{java},10175
              ├─{java},10176
              ├─{java},10177
              ├─{java},10178
              ├─{java},10179
              ├─{java},10180
              ├─{java},10181
              ├─{java},10182
              ├─{java},10183
              ├─{java},10184
              ├─{java},10185
              ├─{java},10186
              ├─{java},10187
              ├─{java},10188
              ├─{java},10189
              └─{java},10190

ありがとうございます。

ベストアンサー1

LWPプロセスのみを表示するには、次のようにps -e -q 10172します。関連するすべてのスレッドを表示するには:ps -eL -q 10172

たとえば、マイコンピュータにはrsyslog次のスレッドがあります。

  PID   LWP TTY          TIME CMD
22316 22316 ?        00:00:00 rsyslogd
22316 22318 ?        00:02:23 in:imjournal
22316 22319 ?        00:00:00 in:imudp
22316 22320 ?        00:00:07 in:imtcp
22316 22321 ?        00:00:00 in:imtcp
22316 22322 ?        00:00:00 in:imtcp
22316 22323 ?        00:00:00 in:imtcp
22316 22324 ?        00:00:00 in:imtcp
22316 22325 ?        00:00:24 rs:main Q:Reg

スレッドが表示されます(例:22320)。

% ps -e -q 22320
  PID TTY          TIME CMD
22316 ?        00:02:55 in:imtcp

プロセスのデフォルトPIDが表示されます。

このスレッドのすべての関連プロセスを表示できます。

% ps -eL -q 22320
  PID   LWP TTY          TIME CMD
22316 22316 ?        00:00:00 rsyslogd
22316 22318 ?        00:02:23 in:imjournal
22316 22319 ?        00:00:00 in:imudp
22316 22320 ?        00:00:07 in:imtcp
22316 22321 ?        00:00:00 in:imtcp
22316 22322 ?        00:00:00 in:imtcp
22316 22323 ?        00:00:00 in:imtcp
22316 22324 ?        00:00:00 in:imtcp
22316 22325 ?        00:00:24 rs:main Q:Reg

おすすめ記事