
以前の記事でも書いたようにmacOSでは「launchd」というシステムにより多数のプロセスやサービスが自動起動している。

ここではターミナルコマンドを使用して隠れたサードパーティーのスタートアップサービスをリストアップする方法を解説する。
最初に断っておくとlaunchdを弄るのは誤って必要なサービスを停止してしまうという危険が伴うため、注意して頂きたい。
INDEX
ターミナルコマンドで.com.appleを除外指定してサードパーティーサービスをリストアップする

下記コマンドをターミナルで実行すると現在launchdに登録されているサービスをリストアップ可能だ。
sudo launchctl list | grep --invert-match com.apple

上記コマンドでは「invert-match」というフラグにより「com.apple」と付くサービスを除外しており、これによりサードパーティーのサービスをリストアップすることが可能になる。

コマンドを実行するとサードパーティーのサービスが表示される。
ただし「fans」や「cron」など「com.apple」が付いていなくても重要なものも存在するため、よく分からないと思ったサービスには手をつけないでおこう。
アプリケーションを削除しても関連サービスが残ってしまう場合
もしリストアップしたサードパーティーサービスの中に不要なものがあった場合、通常はAppCleanerなどでアプリケーションを削除すればlaunchdからも関連サービスは消える。

上記画像では「EaseUS Data Recovery」というアプリケーションをアンインストールした後に再度先ほどのコマンドを実行したものだが、先ほどまで存在した「com.easeus.dataprotectbackup」というサービスがlaunchdから削除されたことがわかる。
しかし、稀にアプリケーションや関連サービスを削除したにも関わらずサービスがlaunchdに登録されたままになってしまう場合がある。
先日の記事でも書いたが僕の場合はAdobeの「Adobe_Genuine_Software_Integrity_Service」というサービスが本体は削除されたにも関わらず、launchdには依然として表示され続けるという問題が起きた。
残存化したサービスをlaunchdから削除する
前述したように本来であればアプリケーションをアンインストーラーで削除すればlaunchdからも関連するサービスは消えるが、Adobeのように残りカスのようにlaunchdに登録されたままになっているサービスが存在する場合がある。
もし残存化したサービスが存在する場合はターミナルコマンドで当該サービスをlaunchdから削除することが可能だ。
なおサービス本体は既に削除されているため、launchdに残存化したとしても実害はなく、launchdからの削除は僕のように「削除したのにlaunchdに存在することが気になる」といった人向けになる。
ちなみにAdobe関連のジャンクファイルやサービスの削除方法は下記記事で詳しく解説している。

残存化したサービスを確認したら下記のコマンドを実行してlaunchdから削除しよう。
sudo launchctl remove サービス名

上記コマンドの例では前述の「Adobe_Genuine_Software_Integrity_Service」をlaunchdから削除している。

「remove」を実行したら再度下記のコマンドを実行してlaunchdから当該サービスが削除されたか確認しよう。
sudo launchctl list | grep --invert-match com.apple
まとめ
以前の記事では「アプリケーションやサービスの自動起動を止める」ということにフォーカスしたが、ここでは「アプリケーションアンインストール後のlaunchdの残りカスの除去」という点を軸にまとめた。
通常はアプリケーションをAppCleanerなどで削除すればlaunchdからも当該サービスは消えるが、Adobeのように残存化するサービスもあるため気になる場合は本記事の方法を試してもいいだろう。