Armadilloフォーラム

psコマンドの情報

m-miz

2018年4月10日 18時45分

お世話になります。
psコマンドでスレッド情報を確認したいのですが、

#ps
#ps aux
#ps -eL
など実行しても、各コマンドオプションが反映されず、
・PID
・Uid
・VmSize
・Stat
・Command
のみの表示となります。

スレッド情報の確認方法をご存知であれば、ご教授ください。
宜しくお願いします。

--
開発環境
ATDE3:Debian GNU/Linux 5.0 (“lenny”)ベース
アプリケーションソフト:C言語(pthread)
#BUsyboxのアップデートが必要なのでしょうか?

コメント

at_ohsawa

2018年4月10日 20時10分

busybox-1.0.0のpsでは表示できません。busybox-1.20.2では-Tで子プロセスを表示できます。
所詮busyboxなのであまり高機能ではないです(-L等は使えません)。もし高性能なpsが必要で
あれば、開発時はDebian userlandでpsを使ってください。

busybox-1.20.2をビルドする場合はAtmark Distのmenuconfigから選択することができます。
(2012年12月以前の古いAtmark Distには入っていません。)

あるいは、linux-3.14 に対応したv2で始まるバージョンのユーザーランドイメージでは
標準でbusybox-1.20.2が組込まれています。

実行例:
- pthreadで2つプロセスを作るアプリケーション(thread_sample)をシェル(ash)から起動した後にpsで確認
- PPID は parent pid(親プロセス=ashのPID)

# ps aux -T -o pid,user,ppid,nice,comm 
PID   USER     PPID  NI    COMMAND
(中略)
 1574 root         1     0 ash
 1814 root         2     0 kworker/0:2
 1817 root      1574     0 thread_sample
 1818 root      1574     0 thread_sample
 1819 root      1574     0 thread_sample
 1820 root      1574     0 ps

psの-oで指定可能なカラムの種類は "ps -o a"のように
適当な文字を-oに続けて入力すると、下記のように例示されます。

ps: bad -o argument 'a', supported arguments: user,group,comm,args,pid,ppid,pgid,etime,nice,rgroup,ruser,time,tty,vsz,stat,rss

m-miz

2018年4月11日 11時34分

迅速回答(情報)に感謝します。
早速、試してみたいと思います。

> busybox-1.0.0のpsでは表示できません。busybox-1.20.2では-Tで子プロセスを表示できます。
> 所詮busyboxなのであまり高機能ではないです(-L等は使えません)。もし高性能なpsが必要で
> あれば、開発時はDebian userlandでpsを使ってください。
>
> busybox-1.20.2をビルドする場合はAtmark Distのmenuconfigから選択することができます。
> (2012年12月以前の古いAtmark Distには入っていません。)
>
> あるいは、linux-3.14 に対応したv2で始まるバージョンのユーザーランドイメージでは
> 標準でbusybox-1.20.2が組込まれています。
>
> 実行例:
> - pthreadで2つプロセスを作るアプリケーション(thread_sample)をシェル(ash)から起動した後にpsで確認
> - PPID は parent pid(親プロセス=ashのPID)
>

> # ps aux -T -o pid,user,ppid,nice,comm 
> PID   USER     PPID  NI    COMMAND
> (中略)
>  1574 root         1     0 ash
>  1814 root         2     0 kworker/0:2
>  1817 root      1574     0 thread_sample
>  1818 root      1574     0 thread_sample
>  1819 root      1574     0 thread_sample
>  1820 root      1574     0 ps
> 

> psの-oで指定可能なカラムの種類は "ps -o a"のように
> 適当な文字を-oに続けて入力すると、下記のように例示されます。
>

> ps: bad -o argument 'a', supported arguments: user,group,comm,args,pid,ppid,pgid,etime,nice,rgroup,ruser,time,tty,vsz,stat,rss
>