ฉันอ่านหน้า man ของ Launchctl และมีคำถามสองสามข้อเกี่ยวกับการทำงาน:
- ความแตกต่างระหว่างการโหลดและการเริ่มต้นการขนถ่ายและหยุดคืออะไร?
- ฉันจะหาฉลากงานสำหรับ daemon ได้ที่ไหนมันอยู่ในไฟล์ plist หรือไม่?
ฉันอ่านหน้า man ของ Launchctl และมีคำถามสองสามข้อเกี่ยวกับการทำงาน:
คำตอบ:
launchctl load -wlaunchctl unload -wstartและ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