launchtl: มีวิธีใดที่จะปิดการใช้งาน daemon หลังจากลบไฟล์ plist หรือไม่


14

ฉันพยายามปิดใช้งานภูตบุคคลที่สามอย่างถาวรดังนั้นฉันจึงลบไฟล์ plist ออกจาก / Library / LaunchDaemons - แล้วฉันก็รู้ว่าฉันไม่ได้ทำlaunchctl unloadมันก่อน พยายามหลังจากความจริงให้ผล "ไม่พบไฟล์หรือไดเรกทอรี / ไม่พบสิ่งใดที่จะยกเลิกการโหลด" และแน่นอนภูตนั้นเริ่มต้นใหม่ได้ดังนั้นเมื่อฉันฆ่ามันมันจะถูกสร้างขึ้นใหม่

ฉันพยายามทำlaunchctl listหวังว่าจะได้รับป้ายกำกับเพื่อใช้งานlaunchctl removeแต่ daemon ไม่อยู่ในรายการอีกต่อไป

ขาดการรีบูตมีวิธีใดที่จะทำให้ launchd ลืมเกี่ยวกับ daemon และ / หรือสแกนไฟล์การกำหนดค่าอีกครั้งหรือไม่


เอกสารไม่ชัดเจน แต่launchctl kill com.example.productดูเหมือนว่าจะใช้งานได้
Abhi Beckert

คำตอบ:


19

หากต้องการดู daemons ทั้งหมดที่ทำงานอยู่คุณต้องพิมพ์:

sudo launchctl list

และจากนั้นคุณสามารถลบออกได้ตัวอย่างเช่น:

sudo launchctl remove com.sassafras.KeyAccess.daemon

อืมฉันเดาว่าถ้าคุณไม่รูทมันจะแสดงเฉพาะ daemons ที่เปิดใช้สำหรับ / ในฐานะผู้ใช้หรือไม่
jhfrontz

2
มันใช้ไม่ได้จริงกับฉัน รายการกลับมาเมื่อรีบูต
Dmitry Minkovsky

3
@dimadima คุณลบไฟล์ plist ที่เกี่ยวข้องหรือไม่ คำสั่งที่จัดเตรียมโดย Dan จะควบคุมสถานะปัจจุบันเท่านั้น (ซึ่งจะถูกรีเซ็ตในเวลาบูตครั้งถัดไปเป็นสิ่งที่อยู่ใน / Library / LaunchDaemons)
jhfrontz

@ jhfrontz yup ฉันได้เรียนรู้แล้วว่าคุณต้องทำ ขอขอบคุณ.
Dmitry Minkovsky

1
ถ้ามันช่วยทุกคนมีหลายรายการที่ไม่ซ้ำกันอยู่เสมอ ผู้ใช้ทั้งหมดในไดเรกทอรีมีของตัวเองแม้ว่าผู้ใช้รูทและผู้ใช้ที่เข้าสู่ระบบอาจจะเกี่ยวข้องมากที่สุด คุณสามารถดูผู้ใช้ทั้งหมดที่มีกระบวนการด้วยsudo ps auxหรืออย่างไรก็ตามคุณต้องการใช้sudo launchctl asuser [UniqueID] launchctl listเพื่อดูรายการสำหรับผู้ใช้แต่ละคน
David Smith
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.