launchtl: jakikolwiek sposób na wyłączenie demona po usunięciu pliku plist?

14

Próbowałem trwale wyłączyć demona innej firmy, więc usunąłem jego plik plist z katalogu / Library / LaunchDaemons - a potem zdałem sobie sprawę, launchctl unloadże najpierw tego nie zrobiłem ; próba po fakcie daje „Nie ma takiego pliku lub katalogu / nic nie znaleziono do rozładowania”. Oczywiście demon można zrestartować, więc kiedy go zabiję, zostaje odtworzony.

Próbowałem to zrobić launchctl listw nadziei, że zdobędę etykietę, launchctl removeale demona nie ma już na liście.

Czy po ponownym uruchomieniu nie ma sposobu, aby uruchomić, aby zapomnieć o demonie i / lub ponownie przeskanować pliki konfiguracyjne?

jhfrontz
źródło
Dokumentacja jest niejasna, ale launchctl kill com.example.productwydaje się działać.
Abhi Beckert

Odpowiedzi:

19

Aby zobaczyć WSZYSTKIE uruchomione demony, musisz wpisać:

sudo launchctl list

A następnie możesz go usunąć, na przykład:

sudo launchctl remove com.sassafras.KeyAccess.daemon
Dan
źródło
Huh, myślę, że jeśli nie jesteś rootem, pokazuje tylko demony uruchomione dla / jako użytkownika?
jhfrontz
2
To tak naprawdę nie działa dla mnie. Wpisy wracają po ponownym uruchomieniu.
Dmitry Minkovsky
3
@dimadima usunąłeś powiązane pliki Plist? Polecenia dostarczone przez Dana zmieniają tylko bieżący stan (który jest resetowany przy następnym uruchomieniu do tego, co znajduje się w / Library / LaunchDaemons).
jhfrontz
@ jhfrontz yup Nauczyłem się już, że musisz to zrobić. Dziękuję Ci.
Dmitrij Minkovsky
1
Jeśli to komuś pomoże, naprawdę zawsze dostępnych jest wiele unikalnych list. Wszyscy użytkownicy w katalogu mają swoje, chociaż użytkownik root i użytkownik zalogowany są prawdopodobnie najbardziej odpowiedni. Możesz zobaczyć wszystkich użytkowników, którzy mają procesy z, sudo ps auxlub jak wolisz, użyj, sudo launchctl asuser [UniqueID] launchctl listaby zobaczyć listę każdego użytkownika.
David Smith