Linuxでのコマンドps(ps-aux)の詳細な説明
7777 ワード
プロセスのモニタリングと制御を行うには、まず、現在のプロセスの状況、すなわち、現在のプロセスを表示する必要があることを理解しなければならないが、psコマンドは最も基本的であり、非常に強力なプロセス表示コマンドである.このコマンドを使用して、実行中のプロセス、実行中のステータス、プロセスが終了するかどうか、プロセスにゾンビがいるかどうか、リソースが多すぎるプロセスなどを特定します.つまり、ほとんどの情報は、このコマンドを実行することによって得ることができる.psはプロセスの使い捨ての表示を提供し、提供された表示結果は動的に連続していない.プロセス時間を監視するにはtopツールを使用します.killはプロセスを殺すために使用されます.psコマンドが最も一般的に使用するのは、バックグラウンドプロセスの動作を監視するためであり、バックグラウンドプロセスはスクリーンキーボードなどの標準入出力装置と通信しないため、その状況を検出する必要がある場合はpsコマンドを使用することができる.I,psコマンド使用権限:すべての使用者使用方式:ps[options][--help]説明:瞬時ストロークを表示する動的1)ps aは、現行の端末機下のすべてのプログラムを表示し、他のユーザのプログラムを含む.
2)ps-Aはすべてのプログラムを表示する.
3)pscがプログラムをリストすると、パス、パラメータ、または常駐サービスの表示を含まない各プログラムの真の命令名が表示されます.4)ps-eこのパラメータの効果は、指定した「A」パラメータと同じです.5)ps eプログラムをリストすると,各プログラムで使用される環境変数が表示される.6)ps fはASCII文字で木構造を表示し,プログラム間の相互関係を表す.7)ps-Hはツリー構造を示し,プログラム間の相互関係を示す.8)ps-Nは、ps命令端末機の下のプログラムを実行する以外、すべてのプログラムを表示する.9)ps sはプログラム信号の形式でプログラム状況を表示する.10)ps Sがプログラムをリストする場合,中断されたサブプログラム資料を含む.11)ps-t端末番号を指定し、その端末に属するプログラムの状況をリストする.12)psuは、ユーザ名と起動時間の順にプロセスを表示する.13)ps xはすべてのプログラムを表示し,端末機で区別せず,すなわち制御端末のないプロセスを表示する.最も一般的な方法はps-auxであり、パイプシンボルをgrepに導いて特定のプロセスを検索し、特定のプロセスを操作します.14)ps l長フォーマット出力
15)ps jはタスクフォーマットでプロセス16を表示する)ps rは実行中のプロセス17を表示する)ps-wはより多くの情報を表示することができる18)ps-auはより詳細な情報を表示する19)ps-auxは他の利用者を含むすべてのストローク20を表示する)ps-wwは詳細なパラメータが遮断されることを避ける私たちがよく使うオプションはauxまたはlaxであり、パラメータfの応用である.
II、linux上のプロセスには5つの状態があります.実行(実行中または実行キューで待機中) 割り込み(休止中、阻害され、ある条件の形成を待つか、信号を受信するか) .割り込み不可(受信信号が起動せず、実行不可であり、プロセスは割り込みが発生するまで待たなければならない) .硬直(プロセスは終了したが、親プロセスがwait 4()システム呼び出しを呼び出した後に解放されるまでプロセス記述子は存在する) 停止(プロセスがSIGSTOP、SIGSTP、SIGTIN、SIGTOU信号を受信して運転を停止する)psツールはプロセスの5種類の状態コードを識別する:D中断不可uninterruptible sleep(usually IO)R運転runnable(on run queue)S中断sleeping T停止traced or stopped Z硬直a defunct(“zombie”)process注:その他の状態はW(駐在ページなし)を含む.psフォーマット出力を使用してプロセスステータスを表示:
例:現在のシステムプロセスのuid,pid,stat,priをuid番号でソートする.
現在のシステムプロセスのuser,pid,stat,rss,argsをrssでソートする.
userユーザ名uidユーザ番号pidプロセス番号ppid親プロセス番号sizeメモリサイズ、Kbytesバイト.vsize総仮想メモリサイズ、bytesバイト(code+data+stackを含む)share合計ページ数niceプロセス優先度(デフォルトは0、最大は-20)priority(pri)カーネルスケジューリング優先度pmemプロセス共有物理メモリ数のパーセントtrsプログラム実行コード常駐大rssプロセス使用の総物理メモリ数、Kbytesバイトtimeプロセス実行現在までの総CPU暫定時間statプロセス状態cmd(args)実行コマンドの簡単なフォーマット
コマンドps-aux
この表の意味は、USERドメインは、どのユーザがこのコマンドを起動したかを示す%CPU-ユーザは、あるプロセスがどれだけのCPU%MEM-メモリ使用率VSZ-仮想メモリサイズRSS-常駐セットサイズVSZ-は、プログラムが完全にメモリに存在する場合、どのくらいのメモリスペースRSS-が現在実際にどれだけのメモリSTAT-が使用されているかを示すスレッドの現在の状態STAT状態は、多くの場合、Ss、Ss 1、Ss+、S"S":プロセスはスリープ状態(idle)にあるが、これらのプロセスが何らかのイベントの発生を待っていることを示している.ユーザ入力またはシステムリソースの可用性Dは、Uninterruptible(usually IO)を中断することができず、起動できないスリープ状態である可能性がある.通常、このプログラムはI/O待ち(ex>プリント)Rが実行中であるか、キュー内のプロセスT停止状態(stop)、ワークコントロール(バックグラウンド停止)またはエラー除去状態である可能性がある.Z(Zombie)ゾンビ状態で、プログラムは終了したが記憶体外に削除できない.Wメモリ交換に入る(カーネル2.6から無効)“X”:死んだプロセス“L”:一部のページがメモリ“n”:低優先度”s“:サブプロセスを含む”+“:バックグラウンドにあるプロセスグループ;l":マルチスレッド、クローンスレッドmulti-threaded(using CLONE_THREAD,like NPTL pthreads do)"WCHHAH":待ちプロセスリソースSTART-ストローク開始時間TIME-実行時間COMMAND-実行命令の名前とパラメータ適用例:
|パイプとmoreを接続してページ別に表示できます.
ここでは、すべてのプロセスを表示し、ps 001に出力する.txtファイルをmoreでページングします.III、kill命令でプロセスを殺すいくつかの方法killはプロセスを終了し、十数種類のプロセスを制御する方法があり、以下はいくつかのよく使われる方法である.
送信SIGSTOP(17,19,23)は,このプロセスを消滅させることなくプロセスを停止する.
SIGCONT(19,18,25)を送信して停止したプロセスを再開する.
送信SIGKILL(9)は、直ちにプロセスを停止させ、クリーンアップ操作を行わないように強制する.
あなたが持っているすべてのプロセスを終了します.SIGKILLおよびSIGSTOP信号は、捕捉、ブラックアウト、または無視することはできないが、他の信号は可能である.だからこれはあなたの究極の武器です.
gl@gl-virtual-machine:~/test$ ps a
PID TTY STAT TIME COMMAND
1313 tty7 Ssl+ 0:10 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/r
1546 tty1 Ss+ 0:00 /sbin/agetty --noclear tty1 linux
2680 pts/8 Ss 0:00 bash
10387 pts/8 R+ 0:00 ps a
2)ps-Aはすべてのプログラムを表示する.
gl@gl-virtual-machine:~/test$ ps -A
PID TTY TIME CMD
1 ? 00:00:03 systemd
2 ? 00:00:00 kthreadd
4 ? 00:00:00 kworker/0:0H
6 ? 00:00:00 ksoftirqd/0
7 ? 00:00:02 rcu_sched
8 ? 00:00:00 rcu_bh
9 ? 00:00:00 migration/0
10 ? 00:00:00 lru-add-drain
11 ? 00:00:00 watchdog/0
12 ? 00:00:00 cpuhp/0
13 ? 00:00:00 cpuhp/1
14 ? 00:00:00 watchdog/1
15 ? 00:00:00 migration/1
16 ? 00:00:01 ksoftirqd/1
18 ? 00:00:00 kworker/1:0H
19 ? 00:00:00 kdevtmpfs
20 ? 00:00:00 netns
3)pscがプログラムをリストすると、パス、パラメータ、または常駐サービスの表示を含まない各プログラムの真の命令名が表示されます.4)ps-eこのパラメータの効果は、指定した「A」パラメータと同じです.5)ps eプログラムをリストすると,各プログラムで使用される環境変数が表示される.6)ps fはASCII文字で木構造を表示し,プログラム間の相互関係を表す.7)ps-Hはツリー構造を示し,プログラム間の相互関係を示す.8)ps-Nは、ps命令端末機の下のプログラムを実行する以外、すべてのプログラムを表示する.9)ps sはプログラム信号の形式でプログラム状況を表示する.10)ps Sがプログラムをリストする場合,中断されたサブプログラム資料を含む.11)ps-t端末番号を指定し、その端末に属するプログラムの状況をリストする.12)psuは、ユーザ名と起動時間の順にプロセスを表示する.13)ps xはすべてのプログラムを表示し,端末機で区別せず,すなわち制御端末のないプロセスを表示する.最も一般的な方法はps-auxであり、パイプシンボルをgrepに導いて特定のプロセスを検索し、特定のプロセスを操作します.14)ps l長フォーマット出力
gl@gl-virtual-machine:~/test$ ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
0 1000 2680 2675 20 0 29548 4944 wait Ss pts/8 0:00 bash
0 1000 10398 2680 20 0 35984 1440 - R+ pts/8 0:00 ps l
15)ps jはタスクフォーマットでプロセス16を表示する)ps rは実行中のプロセス17を表示する)ps-wはより多くの情報を表示することができる18)ps-auはより詳細な情報を表示する19)ps-auxは他の利用者を含むすべてのストローク20を表示する)ps-wwは詳細なパラメータが遮断されることを避ける私たちがよく使うオプションはauxまたはlaxであり、パラメータfの応用である.
II、linux上のプロセスには5つの状態があります.
ps -eo user,stat..,cmd
例:現在のシステムプロセスのuid,pid,stat,priをuid番号でソートする.
ps -eo pid,stat,pri,uid –sort uid
現在のシステムプロセスのuser,pid,stat,rss,argsをrssでソートする.
ps -eo user,pid,stat,rss,args –sort rss
userユーザ名uidユーザ番号pidプロセス番号ppid親プロセス番号sizeメモリサイズ、Kbytesバイト.vsize総仮想メモリサイズ、bytesバイト(code+data+stackを含む)share合計ページ数niceプロセス優先度(デフォルトは0、最大は-20)priority(pri)カーネルスケジューリング優先度pmemプロセス共有物理メモリ数のパーセントtrsプログラム実行コード常駐大rssプロセス使用の総物理メモリ数、Kbytesバイトtimeプロセス実行現在までの総CPU暫定時間statプロセス状態cmd(args)実行コマンドの簡単なフォーマット
コマンドps-aux
gl@gl-virtual-machine:~/test$ vi test.c
( test.c :)
#include
int main()
{
system("ps -aux");
return 0;
}
gl@gl-virtual-machine:~/test$ gcc -o test.out test.c
gl@gl-virtual-machine:~/test$ ls
a.out test.c test.exe test.out
gl@gl-virtual-machine:~/test$ test.out
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.4 0.2 119788 5868 ? Ss 09:20 0:03 /sbin/init spl
root 2 0.0 0.0 0 0 ? S 09:20 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 09:20 0:00 [kworker/0:0]
root 4 0.0 0.0 0 0 ? S< 09:20 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 09:20 0:00 [ksoftirqd/0]
root 7 0.1 0.0 0 0 ? S 09:20 0:00 [rcu_sched]
root 8 0.0 0.0 0 0 ? S 09:20 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 09:20 0:00 [migration/0]
root 10 0.0 0.0 0 0 ? S< 09:20 0:00 [lru-add-drain
root 11 0.0 0.0 0 0 ? S 09:20 0:00 [watchdog/0]
root 12 0.0 0.0 0 0 ? S 09:20 0:00 [cpuhp/0]
root 13 0.0 0.0 0 0 ? S 09:20 0:00 [cpuhp/1]
root 14 0.0 0.0 0 0 ? S 09:20 0:00 [watchdog/1]
root 15 0.0 0.0 0 0 ? S 09:20 0:00 [migration/1]
root 16 0.1 0.0 0 0 ? S 09:20 0:01 [ksoftirqd/1]
root 18 0.0 0.0 0 0 ? S< 09:20 0:00 [kworker/1:0H]
root 19 0.0 0.0 0 0 ? S 09:20 0:00 [kdevtmpfs]
root 20 0.0 0.0 0 0 ? S< 09:20 0:00 [netns]
root 22 0.0 0.0 0 0 ? S 09:20 0:00 [khungtaskd]
root 23 0.0 0.0 0 0 ? S 09:20 0:00 [oom_reaper]
root 24 0.0 0.0 0 0 ? S< 09:20 0:00 [writeback]
htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -s
ubuntu2 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 --system
この表の意味は、USERドメインは、どのユーザがこのコマンドを起動したかを示す%CPU-ユーザは、あるプロセスがどれだけのCPU%MEM-メモリ使用率VSZ-仮想メモリサイズRSS-常駐セットサイズVSZ-は、プログラムが完全にメモリに存在する場合、どのくらいのメモリスペースRSS-が現在実際にどれだけのメモリSTAT-が使用されているかを示すスレッドの現在の状態STAT状態は、多くの場合、Ss、Ss 1、Ss+、S"S":プロセスはスリープ状態(idle)にあるが、これらのプロセスが何らかのイベントの発生を待っていることを示している.ユーザ入力またはシステムリソースの可用性Dは、Uninterruptible(usually IO)を中断することができず、起動できないスリープ状態である可能性がある.通常、このプログラムはI/O待ち(ex>プリント)Rが実行中であるか、キュー内のプロセスT停止状態(stop)、ワークコントロール(バックグラウンド停止)またはエラー除去状態である可能性がある.Z(Zombie)ゾンビ状態で、プログラムは終了したが記憶体外に削除できない.Wメモリ交換に入る(カーネル2.6から無効)“X”:死んだプロセス“L”:一部のページがメモリ“n”:低優先度”s“:サブプロセスを含む”+“:バックグラウンドにあるプロセスグループ;l":マルチスレッド、クローンスレッドmulti-threaded(using CLONE_THREAD,like NPTL pthreads do)"WCHHAH":待ちプロセスリソースSTART-ストローク開始時間TIME-実行時間COMMAND-実行命令の名前とパラメータ適用例:
[root@localhost ~]# ps -aux |more
|パイプとmoreを接続してページ別に表示できます.
[root@localhost ~]# ps -aux > ps001.txt
[root@localhost ~]# more ps001.txt
ここでは、すべてのプロセスを表示し、ps 001に出力する.txtファイルをmoreでページングします.III、kill命令でプロセスを殺すいくつかの方法killはプロセスを終了し、十数種類のプロセスを制御する方法があり、以下はいくつかのよく使われる方法である.
kill -STOP [pid]
送信SIGSTOP(17,19,23)は,このプロセスを消滅させることなくプロセスを停止する.
kill -CONT [pid]
SIGCONT(19,18,25)を送信して停止したプロセスを再開する.
kill -KILL [pid]
送信SIGKILL(9)は、直ちにプロセスを停止させ、クリーンアップ操作を行わないように強制する.
kill -9 -1
あなたが持っているすべてのプロセスを終了します.SIGKILLおよびSIGSTOP信号は、捕捉、ブラックアウト、または無視することはできないが、他の信号は可能である.だからこれはあなたの究極の武器です.