`service-name`と` service-target`の違いは何ですか?


27

次のコマンドを検討してください

# launchctl stop 
Usage: launchctl stop <service-name>
# launchctl stop com.apple.SomeService
# launchctl disable com.apple.SomeService
Usage: launchctl disable <service-target>

サービスターゲットとサービス名の違いは何ですか?サービス名からサービスのターゲットを知るにはどうすればよいですか?

回答:


29

サービスターゲットは、サービス名とターゲットドメインであり、サービスが実行されるコンテキスト、たとえば、システムの起動時または特定のユーザーのログイン時などに実行されるコンテキストを記述します。

launchctl(1)マンページは、サービス名からサービスターゲットを形成する6つの方法について説明しています。起動時に実行されるサービスを無効にしたい場合、システム起動時またはログイン時に実行されるサービスであるかどうかに応じて、おそらく次の3つのいずれかが必要になります。

system/[service-name]
    Targets the system domain or a service within the system domain. The system
    domain manages the root Mach bootstrap and is considered a privileged execu-
    tion context. Anyone may read or query the system domain, but root privi-
    leges are required to make modifications.

user/<uid>/[service-name]
    Targets the user domain for the given UID or a service within that domain. A
    user domain may exist independently of a logged-in user. User domains do not
    exist on iOS.

gui/<uid>/[service-name]
    Another form of the login specifier. Rather than specifying a user-login
    domain by its ASID, this specifier targets the domain based on which user it
    is associated with and is generally more convenient.

次のようにして、ユーザーアカウントのuid番号を確認できます。

$ id -u [your-username]
502

25
launchchtl listこれらの可能性のあるドメインをすべて試すことなく、サービスの「ラベル」またはPID から「サービスターゲット」に移動する方法はありますか?
藻類
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.