ฉันอ่านหน้า man ของ Launchctl และมีคำถามสองสามข้อเกี่ยวกับการทำงาน:
- ความแตกต่างระหว่างการโหลดและการเริ่มต้นการขนถ่ายและหยุดคืออะไร?
- ฉันจะหาฉลากงานสำหรับ daemon ได้ที่ไหนมันอยู่ในไฟล์ plist หรือไม่?
ฉันอ่านหน้า man ของ Launchctl และมีคำถามสองสามข้อเกี่ยวกับการทำงาน:
คำตอบ:
launchctl load -w
launchctl unload -w
start
และstop
มักจะสงวนไว้สำหรับการทดสอบหรือการดีบักงานlaunchctl start <label>
: เริ่มงาน โดยปกติจะสงวนไว้สำหรับการทดสอบหรือการดีบักงานเฉพาะเท่านั้นlaunchctl stop <label>
: หยุดงาน ตรงข้ามกับการเริ่มต้นและเป็นไปได้ว่างานจะรีสตาร์ททันทีหากงานถูกกำหนดค่าให้ทำงานต่อไปlaunchctl remove <label>
: ลบงานจากlaunchd
แต่ไม่พร้อมกัน มันจะไม่รอให้งานหยุดก่อนที่จะส่งคืนจริง ๆ ดังนั้นจึงไม่มีข้อผิดพลาดในการจัดการกับงานนี้launchctl load <path>
: โหลดและเริ่มงานตราบใดที่งานไม่ได้ "ปิดการใช้งาน"launchctl unload <path>
: หยุดและยกเลิกการโหลดงาน งานจะยังคงรีสตาร์ทในการเข้าสู่ระบบ / รีบูตครั้งถัดไปlaunchctl load -w <path>
: โหลดและเริ่มงานพร้อมกับทำเครื่องหมายว่า"ไม่ได้ปิดใช้งาน" งานจะรีสตาร์ทในการเข้าสู่ระบบ / รีบูตครั้งถัดไปlaunchctl unload -w <path>
: หยุดและยกเลิกการโหลดและปิดการใช้งาน งานจะไม่รีสตาร์ทในการเข้าสู่ระบบ / รีสตาร์ทครั้งถัดไปฉันจะหาฉลากงานสำหรับ daemon ได้ที่ไหนมันอยู่ในไฟล์ plist หรือไม่?
ใช่มันอยู่ในไฟล์ plist และโดยทั่วไปจะตรงกับชื่อไฟล์ของไฟล์ plist
การโหลดและการยกเลิกการโหลดบอกให้ launchd โหลดไฟล์การกำหนดค่า ไม่ว่าจะรันโปรแกรมและอยู่ภายใต้เงื่อนไขที่กำหนดโดยไฟล์ plist งานที่ไม่ได้ทำงานอยู่ในปัจจุบันสามารถเริ่มต้นlaunchctl start ...
และหยุดทำงานlaunchctl stop ...
ได้
เลเบลสำหรับงานถูกกำหนดโดยคีย์เลเบลและชื่อของ plist ควรเป็นเลเบลของงานตามด้วยนามสกุล plist