psコマンドで実行中プロセスを確認する方法

当ページのリンクには広告が含まれています。

## はじめに

ps(Process Status)はLinuxで実行中のプロセスを一覧表示するコマンドです。CPUやメモリを大量に消費しているプロセスの調査、特定アプリの動作確認、ゾンビプロセスの検出など、トラブルシューティングの基本ツールです。

歴史的事情から `BSD構文`(オプション先頭に `-` を付けない)と `UNIX構文`(`-` を付ける)の両方が混在しており、`ps aux` と `ps -ef` はその代表例です。

## 症状・背景

ps が必要になる主な場面:

– どのプロセスがCPU/メモリを食っているのか調査したい
– 特定アプリ(nginx, php-fpmなど)が動いているか確認したい
– プロセスのPIDを取得して kill コマンドに渡したい
– 親子関係(プロセスツリー)を把握してリソース消費の原因を追いたい

[図解画像をここに表示]

## 手順・設定方法

### ステップ1: 基本的な使い方

“`bash
# 全プロセスを表示(BSD構文の定番)
ps aux

# 全プロセスを表示(UNIX構文の定番)
ps -ef

# 自分のプロセスのみ
ps

# 列の意味
# USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
# STAT: R=実行中 S=スリープ D=待機 Z=ゾンビ T=停止 +=フォアグラウンド
“`

### ステップ2: 絞り込みと表示形式

“`bash
# 特定ユーザーのプロセス
ps -u www-data

# 特定PIDのプロセス
ps -p 1234

# 名前で絞り込み(grepはps自身がヒットするので除外)
ps aux | grep [n]ginx

# 子プロセスツリー表示
ps -ef –forest
ps auxf # BSD構文のツリー

# 表示列を指定
ps -eo pid,user,%cpu,%mem,comm
ps -eo pid,etime,cmd # 経過時間も表示
“`

### ステップ3: 並び替え

“`bash
# CPU使用率の高い順 上位10件
ps aux –sort=-%cpu | head -11

# メモリ使用率の高い順
ps aux –sort=-%mem | head -11

# 開始時刻の古い順
ps -ef –sort=start_time

# 複数キーでソート
ps -eo pid,user,%mem,%cpu –sort=-%mem,-%cpu
“`

### ステップ4: 実践的な使い方

“`bash
# 特定プロセスのPIDだけ取得(pgrepの方が便利)
ps -C nginx -o pid=
pgrep nginx

# ゾンビプロセスの検出
ps aux | awk ‘$8 ~ /Z/ {print $0}’

# 特定アプリの全プロセス(マスター+ワーカー)を確認
ps -ef | grep [p]hp-fpm

# プロセスのスレッド数も表示
ps -eLf | wc -l # 全スレッド数
ps -eLf | grep nginx # nginxのスレッド一覧

# プロセス起動からの経過時間(古いプロセス調査)
ps -eo pid,etime,user,cmd –sort=etime | tail

# Apacheがどれだけメモリを使ってるか合計
ps -C apache2 –no-headers -o rss | awk ‘{sum+=$1} END {print sum/1024 “MB”}’
“`

## 注意事項

– `ps aux` と `ps -ef` は微妙に列が異なる(VSZ/RSS vs SZ/STIME)。スクリプトでは `-eo` で明示推奨
– `grep` を使うときは `[n]ginx` のように1文字を角括弧で囲むと grep 自身がヒットしない
– `RSS`(実メモリ)と `VSZ`(仮想メモリ)の違いは重要。実消費は RSS
– リアルタイム監視には ps より `top` や `htop` の方が適切
– プロセスツリーは `pstree` の方が見やすい場合がある

## まとめ

1. **基本**: `ps aux`(BSD)または `ps -ef`(UNIX)で全プロセス表示
2. **絞り込み**: `-u user` `-p PID` `-C name` で対象を絞れる
3. **並び替え**: `–sort=-%cpu` `-%mem` でリソース消費上位を抽出
4. **ツリー**: `-ef –forest` または `auxf` で親子関係を表示
5. **代替**: PID取得は `pgrep`、ツリーは `pstree` がシンプル

関連記事:
– [topコマンドでシステムリソースを監視する方法](../linux-top-command-monitor/)
– [htopのインストールと使い方](../linux-htop-install-usage/)
– [killとkillallでプロセスを終了する方法](../linux-kill-process/)

▼ 実践ガイド

【2026年】ネット証券口座の選び方とおすすめ比較 →

用語の意味がわかったら、実際の口座選びのポイントもチェックしてみてください。

※本記事に掲載している情報は、中立的な立場からの情報提供を目的としたものです。掲載している商品・サービスの購入や利用を推奨・強制するものではありません。投資には価格変動リスクが伴い、元本割れが生じる可能性があります。過去の運用実績やシュミレーション結果は、将来の運用成果を保証するものではありません。また、情報の正確性・最新性には十分配慮しておりますが、 内容の完全性や将来の結果を保証するものではありません。最終的な投資判断は、読者ご自身の判断と責任において行っていただくようお願いいたします。本記事の情報を利用したことによって生じたいかなる損害についても、当サイトでは一切の責任を負いかねますので、あらかじめご了承ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

マネジ局長は、「お金の大辞典」全体を統括する監修者です。

編集者であるマネ辞くんが収集・整理した金融・投資・税制データについて、制度の前提条件やリスク、誤解が生じやすい点がないかをチェックし、「この情報をどう受け取るべきか」という判断軸を補足します。

特定の商品やサービスをすすめる役割ではなく、読者が冷静に考えるためのブレーキ役として設計されています。

お金の判断は急がず、理解してから選ぶ。
それがマネ辞局長の基本スタンスです。

目次