←→ Underneath: Background Apps · すべてのMacガイド

Macのバックグラウンドで動いているものを確認する方法

Macでは、自分で開いた覚えのないプロセスが何百も動いています。そのほとんどはmacOSのものです。いくつかはインストールしたアプリから来ていて、その一部はログインするたびに再び起動します。それらを見つける方法を紹介します。

結論:いま動いているものを見るにはアクティビティモニタを、自動で起動するものを見るにはシステム設定 › 一般 › ログイン項目と機能拡張を開きます。全体像を知るには、LaunchAgentsとLaunchDaemonsフォルダを調べるか、ターミナルでlaunchctl listを実行します。

1. アクティビティモニタ:いま動いているもの

アプリケーション › ユーティリティから開くか、⌘ Spaceを押して「アクティビティモニタ」と入力します。

わからないこと:プロセスがなぜ動いているのか、再起動後に戻ってくるのか、どのファイルから起動しているのかはわかりません。com.adobe.acc.installer.v2やGoogle Chrome Helper (Renderer)のような名前からは、ほとんど何もわかりません。

2. ログイン項目と機能拡張:自動で起動するもの

システム設定 › 一般 › ログイン項目と機能拡張を開きます。2つのリストがあります:

わからないこと:項目がいま実行中かどうか、メモリをどれだけ使っているか、どのファイルから来ているかは表示されません。開発元の名前しか表示されない項目もあります。

3. LaunchAgentsフォルダとLaunchDaemonsフォルダ

自動で起動するバックグラウンドジョブの多くはlaunchdジョブです。それぞれが小さな.plistファイルで、何をいつ実行するかをmacOSに伝えます。Finderで移動 › フォルダへ移動…(⇧⌘G)を選び、次のフォルダを開きます:

フォルダ実行ユーザ起動するタイミング
~/Library/LaunchAgentsあなたあなたがログインしたとき
/Library/LaunchAgents各ユーザいずれかのユーザがログインしたとき
/Library/LaunchDaemonsrootMacの起動時、ログイン前
/System/Library/Launch…macOS保護されています。触らないでください

ファイル名は通常ジョブのラベルで、たとえばcom.google.keystone.agent.plistのようになります。テキストエディタで開くと、ProgramArguments(何を実行するか)、RunAtLoad(ログイン時に起動)、KeepAlive(止まったら再起動)を確認できます。

わからないこと:macOS 13以降、アプリは自分のアプリバンドル内からバックグラウンドジョブを登録することもでき、その場合これらのフォルダにはファイルがありません。そうしたジョブはバックグラウンドでの実行を許可にしか表示されません。

4. ターミナル:完全なリスト

以下のコマンドは読み取り専用です。何も変更しません。

自分のユーザで読み込まれているすべてのlaunchdジョブ。プロセスID(ダッシュは実行中でないことを示します)と最後の終了コードも表示されます:

launchctl list | grep -v com.apple

1つのジョブの詳細(plistのパスと状態を含む):

launchctl print gui/$(id -u)/com.example.label

ネットワークポートで待ち受けているプロセス(開発サーバ、同期ツール):

lsof -nP -iTCP -sTCP:LISTEN

自分のプロセスを、メモリ使用量の多い順に(RSSの単位はKB):

ps -U $(id -u) -o pid,rss,etime,comm -m | head -30

macOSが把握しているすべてのログイン項目とバックグラウンド項目(管理者パスワードが必要で、出力は長くなります):

sudo sfltool dumpbtm

何が普通なのか

見覚えのない名前があったら、停止する前に、そのラベルやパスにある開発元の名前を検索してください。

よくある質問

Macでたくさんのプロセスが動いているのは良くないことですか?

いいえ。普通のMacでは数百のプロセスが動いていて、そのほとんどはmacOSのものです。メモリやCPUを多く使っているもの、または見覚えのないものをいくつか探してください。

アクティビティモニタにGoogle Chrome Helperのプロセスがたくさん表示されるのはなぜですか?

Chromeやその他のChromium・Electronアプリは、タブ、拡張機能、レンダラごとに1つのヘルパープロセスを実行します。これらはアプリの一部で、アプリを終了すると一緒に終了します。

MacのLaunchAgentはどこに保存されていますか?

自分のユーザ用は~/Library/LaunchAgents、すべてのユーザ用は/Library/LaunchAgents、rootとして動くシステム全体のジョブは/Library/LaunchDaemonsです。/System/LibraryのフォルダはmacOSのもので、保護されています。

システム設定のログイン項目リストにはすべてが表示されますか?

いいえ。ログイン時に開くアプリとバックグラウンド項目を持つアプリが、アプリまたは開発元ごとにまとめて表示されます。いま実行中のもの、使っているメモリ量、どのファイルから起動するかは表示されません。