ความแตกต่างของ Launchctl ระหว่างการโหลดและเริ่ม, การยกเลิกการโหลดและหยุด


22

ฉันอ่านหน้า man ของ Launchctl และมีคำถามสองสามข้อเกี่ยวกับการทำงาน:

  • ความแตกต่างระหว่างการโหลดและการเริ่มต้นการขนถ่ายและหยุดคืออะไร?
  • ฉันจะหาฉลากงานสำหรับ daemon ได้ที่ไหนมันอยู่ในไฟล์ plist หรือไม่?

คำตอบ:


14

TL; DR

  • คุณมักจะต้องการที่จะใช้และlaunchctl load -wlaunchctl 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


ขอขอบคุณช่วยฉันสักสองสามชั่วโมง👏🏻
Dana Woodman

7

การโหลดและการยกเลิกการโหลดบอกให้ launchd โหลดไฟล์การกำหนดค่า ไม่ว่าจะรันโปรแกรมและอยู่ภายใต้เงื่อนไขที่กำหนดโดยไฟล์ plist งานที่ไม่ได้ทำงานอยู่ในปัจจุบันสามารถเริ่มต้นlaunchctl start ...และหยุดทำงานlaunchctl stop ...ได้

เลเบลสำหรับงานถูกกำหนดโดยคีย์เลเบลและชื่อของ plist ควรเป็นเลเบลของงานตามด้วยนามสกุล plist


6
นำปัจจัยเข้ามาเกี่ยวข้องอย่างไร? โดยเฉพาะมันแตกต่างจากการขนถ่ายอย่างไร
23915 chrisortman

@chrisortman remove เป็นเหมือน unload ยกเว้นว่าจะไม่รอให้งานหยุดก่อน มันจะส่งคืนทันทีโดยไม่ตรวจสอบว่ามีข้อผิดพลาดเกิดขึ้นหรือไม่
Ryan McGeary
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.