ブログに戻る

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

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

· 最終更新日:
このページの目次

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

結論から言うと

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

方法1:Activity Monitor

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

Activity Monitorの開き方

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

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

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

自分のプロセスだけが表示されている場合は、表示を切り替えます。

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

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

ソートとフィルタリング

アクティビティモニタでも親子関係を表示できます。表示 → すべてのプロセス(階層表示)(英語表示:View → All Processes, Hierarchically)を選ぶと、ヘルパーを起動した親プロセスを確認できます。Appleの説明も参照してください。

制限事項

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

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

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

ps — プロセスの一覧表示

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

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

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

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

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

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

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

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

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

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

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

非対話でCPUを確認する場合は2回採取し、2回目を見ます。初回には比較する直前のサンプルがないため、プロセスのCPU値は有効な比較に使えません。

top -l 2 -s 1 -n 10 -o cpu

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

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

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

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

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

制限事項

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

方法3:ProcXray

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

ProcXrayの強み

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

ProcXrayのChromeプロセスツリーとCPU・メモリ履歴

この既存のProcXrayスクリーンショットでは、選択したChromeプロセスのメモリが一時的に増加し、その後ほぼ元の水準に戻っています。一度のピークだけではメモリリークと判断できません。操作を繰り返し、より長い期間で観察してください。上のツリーにはChromeのヘルパーが個別に表示されています。

各方法の使い分け

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

FAQ

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

プロセス数はmacOS、アプリ、作業内容によって変わります。数だけでは正常か判断できません。固定の基準ではなく、継続的な負荷、メモリプレッシャー、実際の症状を確認してください。

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

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

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

作業を保存し、まずアプリを通常の方法で終了します。応答しない場合はアクティビティモニタで選択し、停止 → 終了、必要な場合のみ 強制終了 を使います。未保存の内容が失われる可能性があります。不明なシステムプロセスは用途を調べてから判断してください。

ターミナルでは kill -TERM 1234 で終了を要求します。1234 は直前に確認したPIDに置き換えてください。kill -KILL 1234 は終了時の処理を実行できなくするため、最後の手段です。Appleの説明も参照してください。

関連ガイド

出典・参考文献

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