Linuxビュープロセスpsコマンド詳細説明

導入

ps コマンドは、Linux システムで一般的に使用されるプロセス表示ツールで、現在のシステムで実行中のプロセスに関する情報を表示できます。psコマンドはプロセスのID、ステータス、実行したコマンド、メモリ使用量などを表示することができ、システム管理者にとってはシステム内のプロセスの監視や管理が容易になります。

ps コマンドの構文とオプション

ps コマンドの基本的な構文は次のとおりです。

ps [选项]

一般的に使用されるオプションは次のとおりです。

オプション 説明する
-a 他のユーザーのプロセスを含むすべてのプロセスを表示します
-u プロセスの詳細を表示する
-バツ 制御端末を持たないプロセスを表示する
-e システム内のすべてのプロセスを表示します
-f コマンドライン引数を含むプロセスの完全な形式を表示します。
-l プロセスのステータス、リソースの使用状況など、プロセスに関する詳細情報を表示します。
-h タイトル行を非表示にする

例えば

1. 現在のユーザーのすべてのプロセスを表示します

ps現在のユーザーのすべてのプロセスを表示するには、次のコマンドを使用します。

ps

このコマンドは、以下に示すように、現在のユーザーのすべてのプロセス情報を表示します。

PID TTY          TIME CMD
302 tty7     00:10:29 Xorg
4372 tty1     00:00:01 bash
4603 pts/0    00:00:00 ps

出力結果の最初の列はプロセスの ID (PID)、2 列目はプロセスが配置されている制御端末 (TTY)、3 列目はプロセスの実行時間 (TIME)、 4 番目の列はプロセスのコマンド (CMD) です。)

2. すべてのプロセスを表示する

ps -Aまたはコマンドを使用して、ps -e他のユーザのプロセスを含むシステム内のすべてのプロセスに関する情報を表示します。2 つのコマンドの効果は同じで、実行結果は次のようになります。

PID TTY          TIME CMD
1 ?        00:00:06 systemd
2 ?        00:00:00 kthreadd
3 ?        00:00:00 rcu_gp
4 ?        00:00:00 rcu_par_gp
…
3. 処理内容の表示

このコマンドを使用して、ps -efプロセスのステータス、リソースの使用状況、その他の情報など、プロセスに関する詳細情報を表示します。実行結果は以下の通りです。

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 12月11 ?     00:00:06 /sbin/init splash
root         2     0  0 12月11 ?     00:00:00 [kthreadd]
root         3     2  0 12月11 ?     00:00:00 [rcu_gp]
4. 長いタスクをバックグラウンドで実行する

nohupLinux では、完了までに長い時間がかかるタスクをバックグラウンドで実行する必要がある場合があります。これを実現するには、コマンドとシンボルを使用できます&。サンプル コードは次のとおりです。

nohup command > /dev/null 2>&1 &

このうち、commandは実行する必要があるコマンドを意味し、 は>/dev/null 2>&1標準出力と標準エラーを にリダイレクトすることを意味し/dev/null、 は&コマンドをバックグラウンドで実行することを意味します。

5. プロセスの検索 (一般的に使用される)

Linux では、プロセスに関する情報を検索したり、プロセスを強制終了したりする必要がある場合がありますが、この場合は、psコマンドgrepkillコマンドを組み合わせて使用​​することでこれを実現できます。

たとえば、nginxキーワード を含むすべてのプロセス情報を検索したいと仮定すると、次のコマンドを使用できます。

ps -ef | grep nginx

実行結果は以下の通りです。

root      1608     1  0 11:40 ?        00:00:00 nginx: master process nginx -g daemon on; master_process on;
www-data  1610  1608  0 11:40 ?        00:00:00 nginx: worker process
www-data  1611  1608  0 11:40 ?        00:00:00 nginx: worker process

nginxID 1608 のメインプロセスを強制終了する場合は、次のコマンドを使用できます。

kill -9 1608
4. 進捗状況のリアルタイム表示

プロセスのステータスをリアルタイムで確認する必要がある場合は、topコマンドを使用できます。コマンドを実行するtopと、以下に示すように、システム内の各プロセスのステータス、リソース使用量、その他の情報がリアルタイムに表示されます。

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 7583 root      20   0  319236  88264  17976 S  0.7 11.5   0:06.98 Xorg
 7829 binjie09  20   0 1476780 361616 109568 S  0.7 47.3   2:36.70 chrome
 7941 binjie09  20   0 1147772 249564 100064 S  0.7 32.6   0:40.26 gnome-shell
 8334 binjie09  20   0 1072240 252328 116060 S  0.7 33.0   0:12.02 gnome-terminal-
 8564 binjie09  20   0  607192 183952  75352 S  0.7 24.0   0:08.58 chrome

コマンドラインで使用してコマンドCtrl+Cを終了します。top

5. プロセスが占有しているポートを確認します。

特定のプロセスによって占有されているポートを確認する必要がある場合は、netstatコマンドとgrepコマンドを併用してこれを実現できます。たとえば、8080ポート番号を占有しているすべてのプロセスに関する情報を検索する場合は、次のコマンドを使用できます。

netstat -nlp | grep 8080

実行結果は以下の通りです。

tcp6       0      0 :::8080                 :::*                    LISTEN      7829/chrome

このうち「LISTEN」は、ポートが接続要求を待機していることを意味します。

要約する

ps コマンドは、Linux システムで一般的に使用されるプロセス表示ツールで、システム内で現在実行中のプロセス情報を表示し、システム内のプロセスを簡単に監視および管理できます。ps コマンドのオプションは豊富かつ多様であり、使用方法は柔軟であり、実際のニーズに応じてさまざまなオプションを選択して表示できます。日々の業務において、ps コマンドを使いこなすことは非常に重要であり、作業効率の向上にもつながります。

おすすめ

転載: blog.csdn.net/u012581020/article/details/131226657