概要
ps -efは、システムで実行中のすべてのプロセスを、ユーザーID、プロセスID、親プロセスID、CPU使用率、開始時間、ターミナル、CPU時間、実行コマンドなどの詳細情報とともに一覧表示します。これにより、システムの現在の状態を把握し、特定のプロセスを識別するのに役立ちます。
ps -ef 出力カラムの説明
ps -ef コマンドの主な出力カラムは以下の通りです。
- UID: プロセスを実行したユーザーID
- PID: プロセスID
- PPID: 親プロセスID
- C: CPU使用率(最近の時間帯のCPU使用量)
- STIME: プロセス開始時間
- TTY: プロセスが接続されているターミナル(tty, ptsなど)
- TIME: プロセスが使用した総CPU時間
- CMD: 実行されたコマンドと引数
主なオプション
psコマンドは様々なオプションを通じて出力形式を制御できます。「ps -ef」の組み合わせは、「-e」と「-f」オプションの結合です。
プロセス選択と出力形式
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`ps` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
ps -ef コマンドの様々な活用例です。
全プロセス詳細情報出力
ps -ef
システムで実行中のすべてのプロセスの詳細情報を出力します。
特定プロセス検索
ps -ef | grep sshd
grep コマンドと組み合わせて、特定のキーワードを含むプロセスを検索します。(例: sshd プロセス)
特定ユーザープロセス検索
ps -ef | grep root
特定のユーザー(例: 'root')が実行したプロセスのみを検索します。
ヘッダーを含む上位N件のプロセス表示
ps -ef | head -n 5
出力が多い場合、ヘッダーを含めて上位数行のみを確認します。(例: 上位5行)
特定PIDのプロセス情報確認
ps -ef | grep 1234
特定のPID(例: 1234)を持つプロセスの詳細情報を確認します。
ヒントと注意点
ps -efはシステムの状態を把握する強力なツールですが、出力量が多いため、grepなどの他のコマンドと組み合わせて使用するのが一般的です。
ps aux vs ps -ef
ps コマンドは、System V スタイル(例: -ef)と BSD スタイル(例: aux)の2つの主要なオプション形式をサポートしています。どちらもすべてのプロセスを表示しますが、出力形式や一部の情報が異なる場合があります。-ef は System V スタイルの「full」フォーマットであり、aux は BSD スタイルの「all users」および「full」フォーマットです。
- ps -ef: System V スタイル、全プロセス、詳細情報(UID, PID, PPID, C, STIME, TTY, TIME, CMD)
- ps aux: BSD スタイル、全ユーザープロセス、詳細情報(USER, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND)
grep を利用したフィルタリング
ps -ef の出力は非常に長くなる可能性があるため、目的の情報を素早く見つけるには、常に grep と一緒に使用することをお勧めします。例えば、「ps -ef | grep httpd」は httpd 関連のプロセスのみを表示します。
プロセス終了
ps -ef で確認した PID を使用して、kill コマンドで特定のプロセスを終了できます。例: 「kill