ブログに戻る

Macで実行中のプロセスを確認する方法

macOSで実行中のプロセスを確認する3つの方法を解説。Activity Monitor、psやtopなどのターミナルコマンド、そして高度なプロセス検査ツールProcXrayの使い方を紹介します。

Macでどのプロセスが動いているかを把握することは、パフォーマンスの問題を解決したり、不審なアプリを追跡したり、システムが裏側で何をしているかを理解するために不可欠です。GUIツールでもコマンドラインでも、macOSには全体像を把握するための手段が複数用意されています。

結論から言うと

/Applications/Utilities/にあるActivity Monitorを開けば、実行中の全プロセスを視覚的にすぐ確認できます。ターミナルpstoplsofコマンドを使えば、スクリプト化可能な詳細出力が得られます。プロセスツリー、環境変数、短命プロセスのキャプチャなどの高度な検査には、**ProcXray**が便利です。

方法1:Activity Monitor

Activity MonitorはApple標準搭載のプロセスビューアです。すべての実行中プロセスについて、CPU、メモリ、エネルギー、ディスク、ネットワークの使用状況を表示します。

Activity Monitorの開き方

  1. Finderを開きます。
  2. アプリケーション > ユーティリティに移動します。
  3. Activity Monitorをダブルクリックします。

または、Cmd + SpaceでSpotlightを開き、「Activity Monitor」と入力してEnterを押します。

すべてのプロセスを表示する

デフォルトでは、Activity Monitorは自分のユーザーアカウントが所有するプロセスのみ表示します。すべてを表示するには:

  1. メニューバーの表示メニューをクリックします。
  2. すべてのプロセスを選択します。

これで、システムデーモンやバックグラウンドサービスを含む、Mac上で実行中のすべてのプロセスが表示されます。

ソートとフィルタリング

制限事項

Activity Monitorは簡単な確認には適していますが、見えない部分があります:

方法2:ターミナルコマンド

ターミナルを使えば、より強力で柔軟な操作が可能です。実行中のプロセスを確認するのに最も役立つコマンドを紹介します。

ps — プロセスの一覧表示

psコマンドは、現在のプロセスのスナップショットを出力します。

# すべての実行中プロセスを詳細情報付きで一覧表示
ps aux

各行には、ユーザー、PID、CPU使用率、メモリ使用率、開始時刻、完全なコマンドが表示されます。

特定のプロセスを名前で検索するには:

# "Safari"に一致するすべてのプロセスを検索
ps aux | grep Safari

完全なコマンドライン引数を表示するには(スクリプト作成時に便利):

# 特定のPIDの完全なコマンドを表示
ps -p 1234 -o pid,command

top — リアルタイムプロセスモニター

topコマンドは、実行中のプロセスをリアルタイムで継続的に更新して表示します。

# CPU使用率順にソートしてtopを起動
top -o cpu

qを押すと終了します。topの実行中にoを押してカラム名を入力すると、ソート順を変更できます。

インタラクティブモードに入らずにワンショットのスナップショットを表示するには:

# CPU上位10プロセスを表示して終了
top -l 1 -n 10 -o cpu

lsof — オープンファイルと接続の一覧

すべてのプロセスは、ファイル、ソケット、システムリソースをオープンしています。lsofコマンドはそれらを表示します。

# 特定のプロセスのすべてのオープンファイルを表示
lsof -p 1234

# 特定のポートを使用しているプロセスを検索
lsof -i :8080

# すべてのネットワーク接続を一覧表示
lsof -i

コマンドの組み合わせ

これらのコマンドをチェインして、的を絞った調査が可能です:

# プロセスのPIDを見つけて、そのオープンファイルを一度に表示
lsof -p $(pgrep -f "node server.js")

制限事項

ターミナルコマンドは強力ですが、トレードオフがあります:

方法3:ProcXray

ProcXrayは、GUIの利便性と、Activity Monitorやターミナルコマンドを超える深い分析能力を兼ね備えたネイティブmacOSアプリです。

ProcXrayの強み

ProcXrayは、プロセスが実行中であることだけでなく、なぜ実行中なのかを調査する必要がある場合に特に有用です。

各方法の使い分け

タスクActivity MonitorターミナルProcXray
CPU/メモリの簡易チェック最適良い良い
すべての実行中プロセスを表示良い最適最適
名前でプロセスを検索良い良い最適
プロセスツリー(親子関係)の表示不可限定的最適
環境変数の確認不可手間がかかる最適
短命プロセスの捕捉不可不可最適
スクリプト化・自動化不可最適不可
コード署名の確認不可手動最適

FAQ

Macでは通常どのくらいのプロセスが動いていますか?

一般的なMacでは、常時300〜500のプロセスが実行されており、その大半はシステムデーモンやバックグラウンドサービスです。これは正常な状態です。異常に多い数や見慣れないプロセス名を発見した場合は、ps auxやProcXrayで調査して正体を確認しましょう。

何もインストールせずに実行中のプロセスを確認できますか?

はい。Activity Monitorはすべてのmacに標準搭載されており、pstopなどのターミナルコマンドもすぐに使えます。基本的なニーズはこれらでカバーできます。ProcXrayのようなサードパーティツールは、より深い検査機能が必要な場合に価値を発揮します。

Macの動作を遅くしているプロセスを見つけて停止するには?

  1. Activity Monitorを開き、CPUタブをクリックします。
  2. % CPUで並べ替えます(カラムヘッダをクリック)。
  3. 最もリソースを消費しているプロセスを特定します。
  4. 選択して、ツールバーのXボタンをクリックして終了させます。

終了を拒否するプロセスの場合は、ターミナルでkill -9 <PID>を使用します。<PID>はActivity Monitorまたはps auxで表示されるプロセスIDに置き換えてください。

出典・参考文献

ProcXrayをダウンロード → — 無料、macOS Sonoma以降対応。