Linux psコマンドの使用例

前書き

psコマンドは、コンピュータ上で現在実行中のプロセスのリストを作成します。

このガイドでは、psコマンドのより一般的な使い方を紹介し、psコマンドを最大限に活用できるようにします。

psコマンドは、一般的にgrepコマンド多かれ少なかれコマンドと組み合わせて使用​​されます。

これらの追加のコマンドは、しばしばかなり長いことがあるpsからの出力をフィルタリングし、改ページするのに役立ちます。

psコマンドを使用する方法

psコマンドは、ターミナルウィンドウ内で実行しているユーザが実行中のプロセスを表示します。

psを起動するには、次のように入力します。

ps

出力には、次の情報を含むデータ行が表示されます。

PIDは、実行中のプロセスを識別するプロセスIDです。 TTYは端末タイプです。

psコマンド自体はかなり制限されています。 実行中のすべてのプロセスを見たいと思うかもしれません。

実行中のすべてのプロセスを表示するには、次のいずれかのコマンドを使用します。

ps -A

ps -e

セッションリーダー以外のすべてのプロセスを表示するには、次のコマンドを実行します。

ps -d

だからセッションリーダーは何ですか? あるプロセスが他のプロセスを開始すると、それは他のすべてのプロセスのセッションリーダーになります。 したがって、プロセスAがプロセスBとプロセスCを開始したとします。プロセスBはプロセスDを開始し、プロセスCはプロセスEを開始します。セッションリーダーを除くすべてのプロセスをリストすると、A、B、C、D、Eが表示されます。

-Nスイッチを使用して選択したものを無効にすることができます。 たとえば、セッションリーダーのみを表示する場合は、次のコマンドを実行します。

ps-d -N

明らかに-Nは、-eまたは-Aスイッチと一緒に使用すると、全く何も表示されないので、あまり賢明ではありません。

この端末に関連付けられているプロセスだけを表示するには、次のコマンドを実行します。

PST

次のコマンドを使用して、実行中のすべてのプロセスを表示する場合は、

ps r

psコマンドを使用した特定のプロセスの選択

psコマンドを使用して特定のプロセスを返すことができ、選択基準を変更するさまざまな方法があります。

たとえば、プロセスIDを知っている場合は、次のコマンドを使用します。

ps -p

次のように複数のプロセスIDを指定することにより、複数のプロセスを選択できます。

ps -p "1234 9778"

カンマ区切りのリストを使用して指定することもできます。

ps -p 1234,9778

プロセスIDがわからず、コマンドで簡単に検索できる可能性があります。 これを行うには、次のコマンドを使用します。

ps -c

たとえば、Chromeが動作しているかどうかを確認するには、次のコマンドを使用します。

ps -Cクロム

開いているタブごとに1つのプロセスが返されることに驚くかもしれません。

結果をフィルタリングする他の方法は、グループ別です。 グループ名で検索するには、次の構文を使用します。

ps -G
ps --Group <グループ名>

たとえば、accountsグループによって実行されているすべてのプロセスを調べるには、次のように入力します。

ps -G "accounts"
ps - グループ "accounts"

次のように、小文字のgを使用してグループ名の代わりにグループIDで検索することもできます。

ps -g
ps --group

セッションIDのリストで検索する場合は、次のコマンドを使用します。

ps -s <セッションID>

ターミナルタイプで検索するには、以下を使用します。

ps -t <セッションID>

特定のユーザーが実行するすべてのプロセスを検索するには、次のコマンドを試してみてください。

ps U

たとえば、すべてのプロセスがgaryによって実行されたことを確認するには、次のコマンドを実行します。

ps U "ゲーリー"

これは、資格情報を使用してコマンドを実行するユーザーを示しています。 たとえば、ゲーリーとしてログインして上記のコマンドを実行すると、私が実行したすべてのコマンドが表示されます。

私がTomとしてログインし、 sudoを使って私のようにコマンドを実行すると、上記のコマンドはTomのコマンドがtomではなくgaryによって実行されていると表示します。

実際にgaryによって実行されるプロセスだけにリストを制限するには、次のコマンドを使用します。

ps -U "gary"

psコマンド出力のフォーマット

デフォルトでは、psコマンドを使用するときに同じ4列が得られます。

次のコマンドを実行すると、完全なリストを取得できます。

ps -ef

-eはすべてのプロセスを表示し、fまたは-fは完全な詳細を表示します。

返される列は次のとおりです。

ユーザーIDは、コマンドを実行したユーザーです。 PIDはコマンドのコマンドIDです。 PPIDは、コマンドを開始した親プロセスです。

C列には、プロセスに含まれる子プロセスの数が表示されます。 STimeはプロセスの開始時刻です。 TTYは端末であり、時間は実行に要した時間であり、commandは実行されたコマンドです。

次のコマンドを使用すると、さらに多くの列を取得できます。

ps -eF

これにより、次の列が返されます。

余分な列はSZ、RSS、PSRです。 SZはプロセスのサイズ、RSSは実際のメモリサイズ、PSRはコマンドが割り当てられているプロセッサです。

次のスイッチを使用して、ユーザー定義の形式を指定できます。

ps -e --format

使用可能なフォーマットは次のとおりです。

さらに多くのオプションがありますが、これが最も一般的に使用されます。

フォーマットを使用するには、次のように入力します。

ps -e --format = "uid uname cmd time"

あなたは、あなたが望むようにアイテムを混ぜ合わせて合わせることができます。

出力の並べ替え

出力をソートするには、次の表記法を使用します。

ps -ef --sort

並べ替えオプションの選択は次のとおりです。

もう一度利用可能なオプションがありますが、最も一般的なオプションです。

sortコマンドの例は次のとおりです。

ps -ef --sortユーザ、pid

psを使用するgrepでは、lessコマンドとmoreコマンド

冒頭で述べたように、psをgrep、lessコマンド以上で使用するのが一般的です。

ますます少なくなるコマンドは、一度に1ページずつ結果を調べるのに役立ちます。 これらのコマンドを使用するにはgrepの出力を次のように配管します。

ps -ef | もっと
ps -ef | もっと少なく

grepコマンドは、psコマンドの結果をフィルタリングするのに役立ちます。

例えば:

ps -ef | grep chrome

概要

psコマンドは、Linux内のプロセスを一覧表示するためによく使用されます。 トップコマンドを使用して実行中のプロセスを別の方法で表示することもできます。

この記事では、一般的なスイッチについて説明しましたが、利用可能な形式と並べ替えのオプションが増えています。

詳細は、psコマンドのLinuxのマニュアルページを参照してください。