揮発性のメモ2

http://d.hatena.ne.jp/iww/

スレッドの数を数える方法

hogehogeというプロセスのスレッドを数える。スレッド数は常に自分を含めて1以上ある。

psコマンドを使う

mオプションをつかう。ps m pid

$ ps m `pgrep hogehoge`
 6824 pts/1    -      0:00 ./hogehoge
    - -        S+     0:00 -
    - -        S+     0:00 -
    - -        S+     0:00 -
    - -        S+     0:00 -
    - -        S+     0:00 -
    - -        S+     0:00 -

6個あるのがわかる

procを見る

statusを見るとThreadsのとこにスレッド数が書いてある。

$ cat /proc/`pgrep hogehoge`/status
Name:   hogehoge
State:  S (sleeping)
SleepAVG:       88%
Tgid:   6824
Pid:    6824
中略
Threads:        6
後略

6個あるのがわかる

procをちゃんと見る

2009/12/14追記
taskを見るとスレッドの数だけpidが書いてある。

$ ls /proc/`pgrep hogehoge`/task
6824  6825  6826  6827  6828  6829

6個あるのがわかる。中身も普通のプロセスと同じ感じで書いてある。