ps auxの詳しい説明

高洛峰
高洛峰オリジナル
2017-02-14 10:30:055853ブラウズ

ps aux

他のユーザーが開始したプロセスを表示します (a)
システム内の自分のプロセスを表示します (x)
このプロセスを開始したユーザーとその開始時刻 (u)

「date -s」を使用します" システム時刻を変更するコマンド
たとえば、システム時刻を 1996 年 6 月 10 日に設定するコマンドは次のとおりです。
#date -s 06/10/96
システム時間を午後 1:12:00 に設定するコマンドは次のとおりです。
#date -s 13:12:00

-------------------------------------- --- ----------------
ユーザー PID %CPU %MEM VSZ RSS TTY STAT 開始時間 コマンド
root 1 0.0 0.0 1340 440 ? S 11月05日 0:04 init
root 2 0.0 0.0 0 0 ? SW 11月5日 0:00 [keventd]
ルート 3 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]
...
------------------------------------- --- ------------------

USER フィールドは、このコマンドを開始したユーザーを示します。
ユーザーは、プロセスが占有している CPU の量とその VSZ を確認できます。仮想メモリ サイズ) と RSS (常駐セット サイズ):
VSZ はプログラムがメモリ内に完全に常駐している場合に占有する必要があるメモリ領域の量を示します。
RSS は現在実際に占有されているメモリの量を示します。プロセス:
"S": プロセスはスリープ状態にあり、これらのプロセスが特定のイベントの発生を待っていることを示します - おそらくユーザー入力またはシステム リソースの利用可能性

最後のコマンドはシステム ログイン イベントを効果的に表示できます

in one プロセスが exit を呼び出した後、プロセスはすぐには消えませんが、ゾンビ プロセス (Zombie) と呼ばれるデータ構造を残します。 Linuxプロセスの5つの状態のうち、ゾンビプロセス これは非常に特殊な種類であり、ほとんどすべてのメモリ領域を放棄し、実行可能コードを持たず、他のプロセスの終了ステータスやその他の情報を記録するためにプロセス リスト内の位置を予約するだけです。目的。 プロセスの収集。ただし、ゾンビ プロセスはメモリ領域を占有しなくなります。

exitシステムコールの機能はプロセスを終了させることですが、正常なプロセスをゾンビプロセス化するだけで完全に破壊することはできません。

プロセスが wait を呼び出すと、そのプロセスはすぐに自身をブロックします。Wait は、現在のプロセスの子プロセスが終了したかどうかを自動的に分析し、そのような子プロセスがゾンビになっている場合は待機します。 このサブプロセスの情報を収集し、完全に破棄して戻ります。そのようなサブプロセスが見つからない場合は、サブプロセスが現れるまで待機します。


PS aux CollectionのSTAT解説を再録

ps aux を実行して次の情報を取得します:
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT 開始時間コマンド
smmsp 3521 0.0 0.7 6556 1616 ? SS 20:40 0:00 sendmail: キューランナー@01:00:00 f
root 3532 0.0 0.2 2428 452 ? SS 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0.0 0.0 2956 196 ? SS 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3574 0.0 0.4 5236 992 ? SS 20:41 0:00 クロン
xfs 3617 0.0 1.3 13572 2804 ? SS 20:41 0:00 xfs -droppriv -daemon
root 3627 0.0 0.2 3448 552 ? SN 20:41 0:00 anacron -s
root 3636 0.0 0.1 2304 420 ? SS 20:41 0:00 /usr/sbin/atd
dbus 3655 0.0 0.5 13840 1084 ? SSL 20:41 0:00 dbus-daemon-1 --system
................................ の意味.
stat のパラメータは次のとおりです:
D 無中断 (通常は IO)
R 実行中、またはキュー内のプロセス
S スリープ中
T 停止または追跡中
Z ゾンビプロセス
W メモリスワップ開始中 (カーネル 2.6 以降は無効)
X デッドプロセス

n 優先度が低い
子プロセスが含まれています
+ バックグラウンドにあるプロセスグループ

==================================== ===

ps コマンド
プロセスを監視および制御するには、まず現在のプロセスの状況を理解する必要があります。つまり、現在のプロセスを表示する必要があります。ps コマンドは最も基本的で非常に強力なプロセス表示コマンドです。これを使用します。に命令する 実行中のプロセスとその実行ステータス、プロセスが終了したかどうか、プロセスにゾンビが存在するかどうか、どのプロセスがリソースを占有しすぎているかなどを確認します。つまり、ほとんどの情報は、このコマンド
ps コマンドを実行することで取得できます。が最も一般的に使用されます。バックグラウンド プロセスはスクリーン キーボードなどの標準入出力デバイスと通信しないため、バックグラウンド プロセスの動作ステータスを監視するために依然として使用されます。そのため、その状況を検出する必要がある場合は、次を使用できます。 ps コマンド
1) ps a は、他のユーザーのプログラムを含む、現在の端末のすべてのプログラムを表示します。
2) ps -A はすべてのプログラムを表示します。
3) ps c がプログラムをリストする場合、常駐サービスのパス、パラメーター、識別情報を含まずに、各プログラムの実際の命令名が表示されます。
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) ps u プログラムのステータスをユーザー指向の形式で表示します。
13) ps x 端末を区別せずにすべてのプログラムを表示します。
最も一般的に使用される方法は ps -aux で、パイプ記号を使用して grep に特定のプロセスを検索するよう指示し、特定のプロセスを操作します。

Linux 上のプロセスには 5 つの状態があります:
1. 実行中 (実行中または実行キューで待機中)
2. 中断中 (スリープ中、ブロック中、特定の条件の形成を待機中、または信号の受信中)
3. (シグナル受信時にウェイクアップせず、実行不可能。プロセスは割り込みが発生するまで待機する必要があります)
4. ゾンビ (プロセスは終了しましたが、親プロセスが wait4() システムコールを呼び出すまでプロセス記述子は存在します。
5 . 停止 (プロセスは SIGSTOP、SIGSTP、SIGTIN、SIGTOU シグナルの受信後に実行を停止します)

ps ツールはプロセスの 5 つのステータス コードを識別します:
D 無中断スリープ (通常は IO)
R 実行可能 (実行中)キュー)
S スリープを中断
T stop トレースまたは停止
Z ゾンビ (「ゾンビ」) プロセス

注: 他の状態には、W (常駐ページなし)、< (優先度の高いプロセス)、N (優先度が低い) が含まれます。レベルプロセス)、 L (メモリ ロック ページ)。

プロセス ステータスを表示するには ps 形式の出力を使用します:
ps -eo user,stat..,cmd

user ユーザー名
uid ユーザー番号
pid プロセス番号
ppid 親プロセス番号
size
vsize 仮想メモリの合計サイズ、バイト (コード+データ+スタックを含む)
share 共有ページの総数
nice プロセスの優先度 (デフォルトは 0、最大は -20)
priority(pri ) カーネルのスケジューリング優先度
pmem プロセスによって共有される物理メモリの割合
trs プログラム実行コードの常駐サイズ
rss プロセスによって使用された合計物理メモリ、Kbytes bytes
time プロセス実行以降の合計 CPU 一時時間
stat プロセスステータス
cmd(args) の単純な形式コマンドの実行

例:
現在のシステムプロセスの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

名前: ps
使用権限: すべて使用
使用法: ps [オプション] [--help]
説明: 瞬間的な移動 (プロセス) のダイナミクスを表示します
パラメータ:
ps には多くのパラメータがあります。ここでは、よく使用されるいくつかのパラメータのみをリストし、その意味を簡単に紹介します
-A すべての旅程をリストします
-w表示を拡大して詳細情報を表示
-au さらに詳細な情報を表示
-aux 他のユーザーを含むすべての旅程を表示

au(x) 出力形式:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:トリップ所有者
PID: pid
%CPU: 占有CPU使用率
%MEM: 占有メモリ使用量
VSZ: 占有仮想メモリサイズ
RSS: 占有メモリサイズ
TTY: ttyのマイナーデバイス番号
STAT: トリップのステータス:
D: 中断不可能な静的
R: 実行中
T: 実行の一時停止
Z: 存在しないが一時的に削除できない
W: 十分なメモリ ページを割り当てることができない
<: 高優先度の旅程
N: 低優先度の旅程
L: メモリページが割り当てられており、メモリ内にロックされています
START: トリップ開始時刻
TIME: 実行時刻
COMMAND: 実行されたコマンド

例:

ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? :00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
....
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT 開始時間コマンド
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
....
プロセスを監視および制御するには、まず現在のプロセスの状況を理解する必要があります。現在のプロセスとps このコマンドは最も基本的なものですが、非常に強力なプロセス表示コマンドでもあります。このコマンドを使用して、実行中のプロセスとその実行ステータス、プロセスが終了したかどうか、プロセスが停止したかどうか、どのプロセスが多くのリソースを占有しているかなどを確認します。つまり、このコマンドを実行することでほとんどの情報が取得できます。

ps はプロセスの 1 回限りのビューを提供しますが、提供されるビュー結果は動的かつ継続的ではありません。プロセス時間を監視したい場合は、最上位のツールを使用する必要があります。

kill はプロセスを強制終了するために使用されます。

1. ps

のパラメータの説明は、多くのオプションパラメータを提供します。以下が一般的に使用されます:

l 長い形式の出力;

j はタスク形式を使用します。プロセスを表示します。
f は、すべてのユーザー (他のユーザーを含む) のプロセスを表示します。
r は、詳細なパラメーターを省略して表示します。一般的に使用されるオプションは、aux または lax の組み合わせ、およびパラメーター f の適用です。

2. ps aux または lax 出力の説明

PID プロセス ID;
%CPU プロセスが占有している割合;
NI プロセスの占有率値が大きいほど、占有される CPU 時間が少なくなります。
RSS 常駐ページ数

STAT プロセスのステータス (次の種類があります)

D 無中断スリープ状態 (通常は IO プロセス) ;

R は実行中であり、キューに入れることができます。
T は停止または追跡されます。
X は停止します。
Z 個のゾンビプロセス;

< 優先度の高いプロセス
N 個の優先度の低いプロセス
L プロセスのリーダー (その下に子プロセスがあります); CLONE_THREAD を使用、NPTL pthread と同様);
WCHAN プロセスの開始時間、
COMMAND コマンド名とパラメータ。 . 応用例
[root@localhost ~]# ps -aux |more

ページ内で表示するにはパイプなどを使用できます。

[root@localhost ~]# ps -aux > ps001.txt
[root@localhost ~]# more ps001.txt
ここでは、すべてのプロセスを表示して ps001.txt ファイルに出力し、more を使用してページ単位で表示します。

4. 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 シグナルはキャッチ、ブロック、無視できませんが、他のシグナルはキャッチできます。つまり、これがあなたの最終兵器です。

ps aux の詳細な説明と関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。