LaunchAgent(「トレイ」アイコンが付いた小さなUIアプリ。で定義されているものとしましょう)を提供するアプリを作成します/Library/LaunchAgents/foo.plist
。
パッケージlaunchctlをインストールすると、このLaunchAgentの説明が自動的に読み込まれ、ログインしているすべてのユーザーのプロセスが開始されます。(つまり、LaunchDaemonsの場合のように、launchctl loadを使用してロードする必要はありません)。
パッケージをアンインストールすると、LaunchAgent plistファイルを含むすべてのファイル/Library/LaunchAgents
が削除されますが、プロセスは引き続き実行されます。
(複数のユーザーがログインしているため、このエージェントのインスタンスがいくつかあります)
さて、rootとして実行しているときに(不特定の数のユーザーに対して)これらのプロセスを停止するようにroot launchdに指示するにはどうすればよいですか?(rootがそれらのエージェントを見ることさえないのでlaunchctlが実行されたことに注意してください)。
(pid-fileskillall more-or-less-unique-executable-name
は最後の手段であり、これらのソリューションを最後の手段として保持しています)