アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年11月
≪10月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30    12月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
VineLinux TIPS集(プロセス確認)
Linux ではログインシェルからサーバ・デーモンまでシステムで動く全てのプログラムはプロセスとして実行されます。

サービスやシェルを実行したとき、「ちゃんと動いているかな?」とか、「不要なプロセス(プログラム)は動いていないか」などの確認はプロセスを確認します。

このようなプロセスを確認するのも、システムを管理する上で重要です。

実際にどんなプロセスが動いているのか確認してみましょう。


【プロセスの一覧表示】
プロセスを確認するのは「ps」コマンドを使用します。

一般的には、「ps aux」を使用します。

# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.0 1768 580 ? Ss 22:32 0:03 init [5]
root 2 0.0 0.0 0 0 ? S< 22:32 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S< 22:32 0:00 [migration/0]

「a」は全プロセスの表示、「u」は資源情報の表示、「x」は端末を持たないプロセスも表示させるという意味です。
これだけでも、実効ユーザやプロセスIDなどいろいろな情報が取得できますね。

とはいえ、このままだと、プロセスID順のため、確認したいプロセスを探すのは大変。。。><;

○ユーザで抽出する
 確認したいユーザが予め分かっている場合、上記の「aux」オプションの「a」の変わりに「-u <ユーザ名>」つすることで、特定のユーザのみに表示をしぼることができます。

# ps -u root ux


○特定項目で並び替える
「ps」の出力結果をパイプして、「sort」コマンドへ渡すことで、出力結果をソートすることができます。
「ps」の出力結果の3項目目である「%CPU」がCPU使用率なので、3項目目でソートしてみます。

昇順の場合
# ps aux | sort -k 3

降順の場合
# ps aux | sort -k 3 -r

「ソート」コマンドの「-k」は項目の指定、「-r」か降順(指定しなければ、昇順)になります。
メモリ使用率(4項目目)で並び替えたい場合は「-k 4」とすれば並び替えの項目を変更できます。

○プロセスの親子関係の表示
プロセスの中には、他のプロセスから呼び出されて起動している場合もあります。
このような関係を親子関係と呼び、呼び出し元のプロセスを「親プロセス」呼び出されたプロセスを「子プロセス」と呼びます。
(親から子、子から孫なんてこともあるけどね。。。)

このような親子関係を確認したい場合、「--forest」オプションを使用します。
# ps aux --forest

~ 略 ~ /usr/sbin/gdm-binary -nodaemon
~ 略 ~ \_ /usr/sbin/gdm-binary -nodaemon
~ 略 ~ \_ /usr/bin/X :0 -audit 0 -dpi 96 -auth /var/gdm/:0.Xauth -nolisten tc
~ 略 ~ \_ /bin/sh /usr/bin/startkde
~ 略 ~ \_ /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "/usr/bin/db
~ 略 ~ \_ kwrapper ksmserver

プロセスID などの前半の項目は省きましたが、親子関係がある場合、上記のように表示されます。
(親子関係がなければ、通常の表示)

明確に親子関係を確認する場合は、「pstree」というコマンドも使用できます。
# pstree -p
init(1)-+-NetworkManager(2181)
|-VBoxClient(3174)---{VBoxClient}(3178)
|-VBoxClient(3190)---{VBoxClient}(3193)
|-acpid(1977)
|-anacron(2751)
|-atd(2775)
|-automount(2211)-+-{automount}(2212)
|-{automount}(2213)
|-{automount}(2216)
|-{automount}(2219)

こんな感じで親子表示されます。
上記の場合、{VBoxClient}(3178)の親プロセスはVBoxClient(3174)になります。

○grep で出力結果を検索する
プロセスはたくさんあるため、並び替えても探すのは大変ですね。

ps と grep を組み合わせて文字列検索をよく使用します。
# ps aux | grep tty1
root 2932 0.0 0.0 1752 436 tty1 Ss+ 22:33 0:00 /sbin/mingetty tty1
root 3907 0.0 0.0 4032 748 pts/0 S+ 23:39 0:00 grep tty1


上記の場合、grep 自体もプロセスで実行されるため、grep のプロセスも表示されます。。。
grep 自体は表示させたくない場合、「grep -v grep」を使用します。
# ps aux | grep tty1 |grep -v grep
root 2932 0.0 0.0 1752 436 tty1 Ss+ 22:33 0:00 /sbin/mingetty tty1





プロセスの確認はシステムを管理する上で基本中の基本。
普段から使っていれば、いつでも「ps aux」と使えるようになるでしょう。

また、普段どんなプロセスが動いているのか確認しておけば、普段と違うプロセスの発見につながることでしょう。


コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。