ps
commandは、Process Statusの略で、Linuxシステムで実行されているプロセスに関連する情報を表示または表示するために使用されるコマンドラインユーティリティです。 。
ご存知のように、Linuxはマルチタスクおよびマルチプロセッシングシステムです。したがって、複数のプロセスを相互に影響を与えることなく同時に実行できます。
psコマンドは、現在実行中のプロセスをPIDおよびその他の属性とともに一覧表示します。このガイドでは、psコマンドの使用法に焦点を当てます。
/procファイルシステムにある仮想ファイルからプロセスに関する情報を取得します
引数なしのpsコマンド
引数なしのpsコマンドは、現在のシェルで実行中のプロセスを一覧表示します
ps
出力
出力は4つの列で構成されます
PID
–これは一意のプロセスIDです
TTY
–これはユーザーがログインしている端末の種類です
TIME
–これは、プロセスが実行されている時間(分と秒)です
CMD
–プロセスを起動したコマンド
実行中のすべてのプロセスをさまざまな形式で表示する
実行中のすべてのプロセスを確認するには、以下のコマンドを実行してください
ps -A
出力
または
ps -e
出力
端末に関連付けられているプロセスを表示する
ターミナル実行に関連付けられたプロセスを表示するには
ps -T
出力
端末に関連付けられていないプロセスを表示する
ターミナルリーダーとセッションリーダーに関連付けられているプロセスを除くすべてのプロセスを表示するには
実行
ps -a
セッションリーダーは、他のプロセスを開始するプロセスです
出力
現在実行中のすべてのプロセスを表示
現在のすべてのプロセスを表示するには、実行します
ps -ax
出力
-a
フラグはすべてのプロセスを表します-x
現在のttyに関連付けられていないプロセスも含めてすべてのプロセスが表示されます
すべてのプロセスをBSD形式で表示
プロセスをBSD形式で表示する場合は、
を実行します。ps au
または
ps aux
出力
フルフォーマットのリストを実行するには
フルフォーマットのリストを表示するには、実行
ps -ef
または
ps -eF
出力
ユーザーに応じてプロセスをフィルタリングする
特定のユーザーに関連付けられているプロセスを一覧表示する場合は、-u
を使用します 示されているフラグ
ps -u user
例
ps -u jamie
出力
スレッドプロセスによるプロセスのフィルタリング
特定のプロセスのスレッドを知りたい場合は、-L
を使用してください。 フラグの後にPIDが続く
例
ps -L 4264
出力
実行中のすべてのプロセスをルートとして表示
rootユーザーによって実行されたすべてのプロセスを明らかにしたい場合があります。この実行を達成するには
ps -U root -u root
出力
グループプロセスの表示
特定のグループ実行に関連付けられているすべてのプロセスを一覧表示する場合
ps -fG group_name
または
ps -fG groupID
例
ps -fG root
出力
検索プロセスPID
通常、プロセスのPIDを知らない可能性があります。
実行中
ps -C process_name
例
ps -C bash
出力
PIDによるプロセスの一覧表示
図のように、プロセスをPIDで表示できます
ps -fp PID
例
ps -fp 1294
出力
プロセス階層をツリー図で表示するには
通常、ほとんどのプロセスは親プロセスからフォークされます。この親子関係を知ることは
役に立ちます。以下のコマンドは、apache2
ps -f --forest -C bash
出力
親プロセスの子プロセスを表示する
たとえば、apacheに属するすべてのフォークされたプロセスを表示する場合は、
を実行します。ps -o pid,uname,comm -C bash
出力
ルートが所有する最初のプロセスはメインのapache2プロセスであり、残りのプロセスは
このメインプロセスからフォークされています
メインのapache2プロセスのpidを使用してすべての子apache2プロセスを表示するには、execute
ps --ppid PID no.
例
ps --ppid 1294
出力
プロセススレッドを表示する
psコマンドを使用して、プロセスとともにスレッドを表示できます。
以下のコマンドは、PID pid_no
のプロセスが所有するすべてのスレッドを表示します。ps -p pid_no -L
例
ps -p 1294 -L
出力
選択した列のリストを表示する
psコマンドを使用して、必要な列のみを表示できます。
たとえば、
ps -e -o pid,uname,pcpu,pmem,comm
上記のコマンドは、PID、ユーザー名、CPU、メモリ、およびコマンド列のみを表示します
出力
列ラベルの名前を変更する
列ラベルの名前を変更するには、以下のコマンドを実行します
ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
出力
プロセスの経過時間を表示する
経過時間とは、プロセスが実行されている時間を指します
ps -e -o pid,comm,etime
出力
-oオプションは、経過時間の列を有効にします
grepでのpsコマンドの使用
psコマンドをgrepコマンドと一緒に使用して、特定のプロセスを検索できます
例
ps -ef | grep systemd
出力