カテゴリー
Linux

【Linux コマンド】ps auxw を調べました♪

Linux で動いているアプリやパッケージなど、プロセスを見ることのできるコマンド ps の便利なオプションまとめ

# すべてのプロセスを詳細に表示
# a 自分以外のユーザーのプロセスも表示
# u 実行中のプロセスをユーザー名と開始時刻を含めて表示
# x 制御端末のないプロセスの情報も表示
# w 表示を拡大。無くてもよい。
ps auxw

各オプションをそれぞれ調べましたの♪

オプション付けずに実行

# 実行中のプロセスを表示
ps

結果は現在のユーザのプロセスが表示されました。

  PID TTY          TIME CMD
 7616 pts/0    00:00:00 su
 7617 pts/0    00:00:00 bash
 7780 pts/0    00:00:00 mysqld_safe
 8491 pts/0    00:00:00 ps

a オプションを付けて実行

# 自分以外のユーザーのプロセスも表示
ps a

結果ですが、、、自分以外のユーザのプロセスが表示されているようには思えません><。。。と思いましたけれど、次の u オプションも付けて、「ps au」としましたらコマンドの「-bash」と「/usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –plugin」が ps を実行した root ユーザ以外でしたの♪

ですから、大丈夫!自分以外のユーザのプロセスも表示されております♪

STAT が追加され、CMD → COMMAND と省略形から省略しない形となったのにあわせて結果も省略しないコマンドとなっております。

  • STAT プロセスのステータス。Rは実行可能、Sは停止、Dは割り込み不可の停止、Tは停止またはトレース中、Zはゾンビ・プロセス、Wはスワップ・アウトしたプロセス、Nはナイス値が正であることを表す
  • COMMAND 省略しないプロセスのコマンド名
  PID TTY      STAT   TIME COMMAND
 7601 pts/0    Ss     0:00 -bash
 7616 pts/0    S      0:00 su -
 7617 pts/0    S      0:00 -bash
 7780 pts/0    S      0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/r
 8229 pts/0    Sl     0:13 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysq
 8493 pts/0    R+     0:00 ps a

u オプションを付けて実行

# 実行中のプロセスをユーザー名と開始時刻を含めて表示
ps u

結果は、確かにユーザー名と開始時刻を含めて表示されました。ですけれども、それ以上に、CPU 使用率、メモリ使用率、仮想メモリの全サイズ、そして使用中の物理メモリー量が確認できる事が大きいと思いますの。

  • %CPU CPU 使用率
  • %MEM メモリ使用率
  • VSZ 仮想メモリの全サイズ
  • RSS 使用中の物理メモリー量

これらの値で、パフォーマンスが確認できますもの!

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      7616  0.0  0.1   3960  1352 pts/0    S    Jan17   0:00 su -
root      7617  0.0  0.1   3704  1616 pts/0    S    Jan17   0:00 -bash
root      7780  0.0  0.1   2516  1104 pts/0    S    Jan17   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/
root      8500  0.0  0.0   2284   828 pts/0    R+   00:14   0:00 ps u

x オプションを付けて実行

# 制御端末のないプロセスの情報も表示
ps x

結果は、より多くのプロセスが表示されましたの。制御用の端末の無い、例えば cron などのようです。

といいましても制御用の端末とはなにか?よくわかりませんし、掘り下げることも、ここではいたしません。

とにかく、TTY が「?」のプロセスが、制御用の端末のないプロセスですの♪

  • TTY 制御端末の種類および番号
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:03 init [3]      
    2 ?        S      0:00 [kthreadd/43287]
    3 ?        S      0:00 [khelper/43287]
   91 ?        S<s    0:00 /sbin/udevd -d
  515 ?        Ss     0:00 syslogd -m 0
  534 ?        Ss     0:00 /usr/sbin/sshd
  542 ?        Ss     0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
 1087 ?        Ss     0:08 sendmail: accepting connections
 1128 ?        Ss     0:01 crond
 1136 ?        Ss     0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
 1138 ?        S      0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
 4312 ?        S      0:27 python /usr/bin/denyhosts.py --daemon --config=/etc/denyhosts.conf
 7598 ?        Ss     0:00 sshd: oki2a24 [priv]
 7616 pts/0    S      0:00 su -
 7617 pts/0    S      0:00 -bash
 7671 ?        Ss     0:01 /usr/sbin/httpd
 7780 pts/0    S      0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/r
 8508 pts/0    R+     0:00 ps x

w オプションを付けて実行

# 1行追加して表示を拡大する。wを増やすことによって行数をさらに増やして実行中のプロセスを表示
ps w

結果ですけれども、w を増やせば増やすほど COMMAND に表示される情報が増えていきましたの♪

このオプションはディスプレイの幅に余裕があるときにつけるような形が良いと思いましたの。

もしくは、普段は付けないで、コマンド内容をもっと詳しく知りたいときに w オプションを付ける、そのような運用がよいと思いました。

  PID TTY      STAT   TIME COMMAND
 7616 pts/0    S      0:00 su -
 7617 pts/0    S      0:00 -bash
 7780 pts/0    S      0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/r
 8514 pts/0    R+     0:00 ps w

おわりに

CentOS で今動いているプロセスを調べるのには ps コマンドだ!と教わって以来、なんとなく使ってまいりました。

また、先日の投稿でも、ps auxw が大活躍いたしました。

今回、あらためて ps を見直しました。スッキリしましたの♪

参考にさせていただいたページです。ありがとう存じます♪

以上です。

コメントを残す