อะไรคือความแตกต่างระหว่าง "ชื่อบริการ" กับ "เป้าหมายบริการ"


27

พิจารณาคำสั่งต่อไปนี้

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

อะไรคือความแตกต่างระหว่างบริการเป้าหมายและชื่อบริการ? ฉันจะเรียนรู้เป้าหมายบริการของบริการจากชื่อบริการได้อย่างไร

คำตอบ:


29

เป้าหมายบริการคือชื่อบริการบวกกับโดเมนเป้าหมายซึ่งอธิบายบริบทที่บริการทำงานเช่นว่าจะทำงานเมื่อเริ่มต้นระบบหรือเมื่อผู้ใช้เข้าสู่ระบบ ฯลฯ

manctctctl (1) อธิบาย 6 วิธีในการสร้างเป้าหมายบริการจากชื่อบริการ หากคุณต้องการปิดการใช้งานบริการที่ทำงานเมื่อเริ่มต้นคุณอาจต้องการหนึ่งในสามเหล่านี้ขึ้นอยู่กับว่าเป็นบริการที่ทำงานเมื่อเริ่มต้นระบบหรือเมื่อคุณเข้าสู่ระบบ:

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
มีวิธีใดที่จะไปจากบริการ "ป้ายกำกับ" หรือ PID ที่แสดงโดยlaunchchtl listไปยัง "บริการเป้าหมาย" โดยไม่ต้องลองโดเมนที่เป็นไปได้เหล่านี้ทั้งหมดหรือไม่
algal
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.