ps (プロセス)
100%

プロセス · レッスン 1

ps (プロセス)

`ps` でプロセスのスナップショットを取得し、`top` で変化する活動を監視する方法を学びます。

プロセスは、プログラムの実行中のインスタンスと、そのメモリ、認証情報、開いているリソース、実行状態を合わせたものです。Linux は各プロセスを数値のプロセス ID(PID)で識別します。同時に存在する間は一意ですが、終了後にカーネルが再利用できます。

基本的なスナップショット

オプションなしの ps は実装の既定条件で選んだスナップショットを表示し、通常は現在の端末とユーザーに関連するプロセスを示します。

$ ps
    PID TTY          TIME CMD
  41230 pts/4    00:00:00 bash
  51224 pts/4    00:00:00 ps

一般的なフィールドは次のとおりです。

  • PID:プロセス ID
  • TTY:制御端末。関連付けがなければ ?
  • TIME:経過時間ではなく、累積 CPU 時間
  • CMD:選択形式に応じたコマンド名またはコマンドライン

正確な列と既定の選択条件は ps の実装や環境で異なります。

PID 列は何を識別しますか?

BSD 形式のオプションで一覧表示する

Linux の ps は複数のオプション形式を受け付けます。BSD 形式は先頭のダッシュなしで書くのが一般的です。

$ ps aux

この組み合わせでは次の意味があります。

  • a:端末を持つほかのユーザーのプロセスまで選択を広げる。
  • x:制御端末のないプロセスも含め、a とともに選択を広げる。
  • uUSER%CPU%MEMVSZRSS などを持つユーザー指向形式を選ぶ。

オプションの意味は相互作用するため、各文字を独立したコマンドと考えず、組み合わせ全体を解釈してください。

ps aux でユーザー指向の出力形式を要求するオプションはどれですか?

標準形式のオプションを使う

広く使われる ps -ef は先頭にダッシュを付けます。

$ ps -ef
  • -e:呼び出し元から見えるすべてのプロセスを選ぶ。
  • -f:完全形式の一覧を要求する。

通常は UIDPIDPPID、開始時刻、コマンド情報を含みます。PPID は親プロセス ID です。この一覧は本質的に階層表示ではありません。親子関係が重要なら、対応環境で --forest、または pstree を使います。

ps -ef-e は何を要求しますか?

時間とともに活動を監視する

ps は1回のスナップショットを出力して終了します。定期的に更新する対話型ビューには top を使います。

$ top

CPU とメモリの消費が変化するプロセスを見つけられますが、値は変動するサンプルです。複数回観測し、割合を CPU 数、メモリ計算、ワークロードと関連付けて疑わしい問題を確認してください。

ここで紹介したうち、既定でプロセス表示を定期更新するツールはどれですか?

レッスン完了

ps (プロセス) を完了しました

プロセスビューを選び、基本的な識別子を解釈できるようになりました。

  • PID を現在実行中のプロセスに対する再利用可能な識別子として扱う。

  • 小さな既定スナップショットにはオプションなしの ps を使う。

  • 広い選択と豊富な列には ps aux または ps -ef を使う。

  • 時間変化が重要なら top を使う。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
プロセス に戻る