psコマンドについて詳しくまとめました 【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket

psはLinux上で現在動作しているプロセスを表示するコマンドだ。Linuxは一見単純な操作でも、内部では数多くの処理から成り立っている。プロセスとは、Linux内の一つ一つの処理のことだ。

grepコマンドを実行すれば、指定したファイルを開いて検索文字を探す処理を行う。またコマンド未入力の時点でも受付待機の処理中であり、何かのコマンドが入力されれば、そのコマンドに準じたプログラムを呼び出す処理を行っている。これら一つ一つの処理がプロセスだ。

このページではpsコマンドを使ったLinuxの動作状況の確認方法を解説する。

Linuxの動作が遅い時の原因を追究したり、不要なアクセスを監視したりすることもできるので、Linux管理者にとっては必須のコマンドだ。

ぜひ、この機会に覚えておいてほしい。

psコマンドの基本

コマンドの基本動作

使い方は、次のとおり簡単だ。

$ ps

現在、Linux上で動作しているプロセスを確認するにはこれだけだ。

psコマンド

現在、動作しているプロセスが表示できた。

psコマンドのオプションたち

コマンドの一覧

psコマンドのオプションの特徴として、他のコマンドのようにオプションの前に-や--が付与されず、アルファベット1文字だけのオプションも数多く存在する。

-や--が付与されないションの多くは、別の指定方法として-や--が付与されるオプションも用意されている。

あなたが一番使いやすい形式のオプションを選んで使うとよいだろう。

また、オプションは、大きく分けて、どのように表示するかを指定するものと、何を表示するかを指定するものの2種類があるのでそれぞれ分けて把握するとわかりやすい。

それぞれのオプションについて、後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション -A(オプション -e)

全プロセスを表示する。

オプション a

端末操作のプロセスを表示する。

オプション x

端末操作以外のプロセスを表示する。

オプション r

現在、実行しているプロセスを表示する。

オプション c

実行しているコマンド名を表示する。

オプション e

実行しているコマンド名と環境変数を表示する。

オプション u

CPUやメモリの使用率なども表示する。

オプション h(オプション--no-headers)

項目名を表示しない。

オプション l

プロセスの状態なども表示する。

オプション f(オプション-H, オプション--forest)

プロセスを階層で表示する。

オプション o(オプション-o, オプション--format)

指定したリスト順の出力形式で表示する

オプション -C

実行しているプロセスやプログラムのファイル名を指定する。

オプション -u

プロセスを実行しているユーザーを指定する。

オプション -g

プロセスを実行しているグループを指定する。

オプション -p(オプションp,オプション--pid)

実行しているプロセスのプロセス番号(PID)を指定する。

オプション --sort

プロセスの表示順を指定する。

項目名の指定は小文字で行う。

では詳しく見ていこう。

aオプション:端末操作のプロセスを表示する

他の端末を含め、端末操作のプロセスを表示するオプションだ。

$ ps a

他の端末を含めた端末操作のプロセスが表示された。

-xオプション:現在、実行しているプロセスを表示する

現在実行しているプロセスのみを表示するオプションだ。

$ ps -x

psコマンド

<中略>

psコマンド

現在実行しているプロセスが表示された。

すべてのプロセスはとても多いため、途中を省略している。

cオプション:実行しているコマンド名を表示する

コマンド名を表示するオプションだ。

$ ps c

psコマンド

commandとしてプロセスのコマンド名が表示された。

eオプション:実行しているコマンド名と環境変数を表示する

コマンド名と環境変数を表示するオプションだ。

$ ps e

psコマンド

コマンド名と環境変数が表示された。

uオプション:CPUやメモリの使用率なども表示する

CPUやメモリの使用率なども表示するオプションだ。

$ ps u

psコマンド

CPUやメモリの使用率が含んで表示された。

hオプション(オプション--no-headers):項目名を表示しない

特に指定せずにpsコマンドを実行すると項目名が表示されるが、hオプションを指定すれば項目名を表示しない。

$ ps h

psコマンド

項目名が表示されない。

lオプション:プロセスの状態なども表示する

プロセスごとの実行状態などを表示する。

$ ps l

psコマンド

プロセスごとの実行状態が表示された。

Fがプロセスの種類だ。0は終了、1は常駐、4は親のプロセスからトレースされている、5は常駐で親のプロセスからトレースされているなどという意味がある。

-Aオプションなどと同時に使用すると表示されるSは状態のことで、Rは実行可能、Sは休眠中、T、Zは停止中などの意味がある。

fオプション(-Hオプション,--forestオプション):プロセスを階層で表示する

プロセスごとの実行状態などを表示する。

$ ps f

fオプションは-Aオプションと組み合わせるととても使いやすい。

$ ps f -A

psコマンド

上記コマンドの実行結果の末尾部分だけを抜粋している。

pts/3が-bashから始まるツリー構造になっているのがわかる。

oオプション(-oオプション, --formatオプション):指定したリスト順の出力形式で表示する

自分で指定した項目だけを表示できるオプションだ。

$ ps o 表示したい項目リスト

表示する項目名は小文字で指定し、複数の項目は「,」で区切る。

PIDとUID、TTYのみ表示するには次のコマンドだ。

$ ps o pid,uid,tty

psコマンド

PIDとUID、TTYのみ表示された。

-Cオプション:実行しているプロセスやプログラムのファイル名を指定する

自分で指定した項目だけを表示できるオプションだ。

プログラムleafpadのプロセスを表示するには次のコマンドだ。

$ ps -C leafpad

psコマンド

プログラムleafpadのプロセスが表示された。

この時点では、GUIベースのテキストエディタleafpadの画面を2つ起動していた。

-uオプション:プロセスを実行しているユーザーを指定する

表示するユーザーを指定できるオプションだ。

$ ps -u ユーザー名

ユーザーLimeのプロセスを表示するには次のコマンドだ。

$ ps -u Lime

psコマンド

ユーザーLimeのプロセスが表示された。

-pオプション(pオプション,--pidオプション):実行しているプロセスのプロセス番号(PID)を指定する

表示するプロセス番号(PID)を指定できるオプションだ。

$ ps -p プロセス番号(PID)

プロセス番号(PID)20949番を表示するには次のコマンドだ。

$ ps -p 20949

psコマンド

プロセス番号(PID)20949番のプロセスが表示された。

--sortオプション:プロセスの表示順を指定する

表示する順番を指定できるオプションだ。

並べ替えのキーとなる項目は小文字で、複数ある場合は並べ替えの優先順位の低い順に「,」で区切る。

$ ps --sort 項目名リスト

端末操作のプロセスをCOMMAND、STATの順の優先順位で表示するには次のコマンドだ。

$ ps a --sort stat,command

psコマンド

端末操作のプロセスがCOMMAND、STATの順の優先順位で表示された。

最も使用頻度の高いオプションaux

psコマンドで最も使用頻度の高い利用方法は、a、u、xそれぞれのオプションを組み合わせた、次のコマンドだ。

$ ps aux

psコマンド

<中略>

psコマンド

すべての種類のプロセスの知り得るだけの情報がすべて網羅される。

さらに、fオプションを追加すればプロセスがツリー構造になるので、視認性が向上する。

$ ps auxf

psコマンド

<中略>

psコマンド

プロセスがツリー構造で表示された。

関連コマンド

最後にpsコマンドに関連して、基本的なプロセス関係のコマンドも紹介しておく

jobコマンド

ジョブを表示する。

killコマンド

プロセスやジョブを停止する。

まとめ

今回は、psコマンドを使った実行プロセスの確認の方法を解説した。

一つ一つの実行するコマンドのこともプロセスだし、GUIで操作していれば意識しなくても様々なプログラムを動かすことになるがこれもプロセスだ。

それらを監視し、不要な操作や、異常終了した処理を調べてkillコマンドで停止させていくという運用方法もあるだろう。

まず、あなた自身のLinux内でどんなプロセスが実行されているのか確認してみよう。

psコマンドはauxオプションを付与することがほとんどなので、「ps aux」と暗記してもいいだろう。

あなたが管理しているLinuxはあなたが責任を持って管理しなければならない。

ぜひ今回の知識を応用し、活用して欲しい。

 

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. aa より:

    BSDとUNIXオプションが混ざってますよ

    1. リカレントテクノロジー より:

      ご指摘いただきありがとうございます。
      該当箇所の記述を訂正いたしました。

      引き続き、ご愛読のほど、よろしくお願いいたします。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する