OS X utilizza un sistema di avvio dei processi chiamato launchd che consolida le funzioni fornite dagli script Init, crontab e altri in sistemi * nix (vedi l'articolo di Wikipedia per una panoramica di alto livello e Documenti dello sviluppatore Apple sui daemon e gli agenti di avvio per i dettagli). Una delle abilità di launchd è di mantenere attivo un processo lanciato, se così definito dal suo file di configurazione - in tal caso, il processo verrà riavviato ogni volta che viene terminato. Il tuo problema con un processo apparentemente persistente tra i riavvii e la terminazione manuale sembra molto simile a un caso di processo avviato launchd con una chiave keepAlive
.
launchd i file di configurazione sono nel formato plist e si trovano in
-
~/Library/LaunchAgents
: solo gli agenti per l'account utente corrente
-
/Library/LaunchAgents
e /Library/LaunchDaemons
- agenti e demoni per tutti gli account utente
-
/System/Library/LaunchAgents
e /System/Library/LaunchDaemons
- agenti e demoni a livello di sistema
e di solito sono nominati nella notazione inversa del dominio ( tld.domain.process.plist
). A seconda che l'account utente di server
sia tuo o meno (non puoi dire, dato che lo hai cancellato), dovresti cercare in uno dei primi due luoghi sopra per un probabile plist (se hai installato Xcode, puoi QuickLook facilmente). Se trovato, il tuo server
è effettivamente controllato da launchd. La procedura corretta per fermarlo è rimuoverla dall'elenco dei processi launchd tramite
launchctl unload <tld.domain.process>
che scaricherà e interromperà il processo (nota che ometti il suffisso plist
).
C'è anche una GUI per gestire i file launchd , Peter Borg's Lingon (assicurati di avere "Lingon", non "Lingon 3", che è una versione stupida sicura per l'uso di vaniglia), che potrebbe essere più comodo del rooting manuale attraverso il file posizioni.