Rimuove un agente da launchd
Sommario:
La stragrande maggioranza degli utenti Mac non avrà bisogno di modificare manualmente launchd e launchctl, ma ci sono momenti in cui disinstalli o smetti di usare un'app in Mac OS X e un agente di servizio continua a caricare inutilmente lanciato. Questo è fastidioso, ma questi agenti canaglia sono facili da rimuovere tramite la riga di comando, quindi avvia Terminal e via. Inoltre, ci sono situazioni in cui gli utenti esperti potrebbero voler modificare gli agenti caricati in launchd per qualsiasi motivo.In ogni caso, spiegheremo in dettaglio come elencare gli elementi in launchd, come rimuoverli da launchd in OS X e anche come ricaricare gli agenti in launchd su Mac.
Dovrai avere una certa comprensione e comodità nell'uso della riga di comando e del terminale per usarlo correttamente, rendendolo ideale per gli utenti più avanzati che hanno conoscenza dei daemon di lancio e come rintracciarli, che, a volte, è solo questione di trovarne uno nell'Activity Monitor di Mac OS X, o usando il comando launchctl di cui parleremo tra poco. Se decidi di annullare la modifica, puoi anche caricare nuovamente il servizio o il demone in launchd utilizzando un altro comando, che annulla di fatto il passaggio di rimozione iniziale. Andiamo al punto:
Rimozione di Launch Agents & Services da launchd in OS X
Ecco come rimuovere un servizio da launchd. Avvia Terminale e usa la seguente sintassi con il comando launchctl:
launchctl rimuovi nome
Ad esempio, se desidero rimuovere un servizio denominato "com.annoying.service", la sintassi sarebbe:
launchctl remove com.annoying.service
Potrebbe essere necessario prefissare il comando con sudo per rimuovere il servizio, in questo caso il comando sarebbe:
sudo launchctl remove com.annoying.service
Con il prefisso sudo dovrai inserire una password amministratore prima che il comando venga eseguito.
Come vedere cosa è caricato in launchd
Puoi anche controllare cosa è caricato in launchd usando la seguente stringa di comando:
launchctl list
Questo comando elenca tutti gli agenti ei lavori caricati in launchd, consentendo di manipolare facilmente gli agenti in esecuzione. Poiché scarica una tonnellata di informazioni sullo schermo contemporaneamente, potresti volerle passare attraverso i comandi più o meno in questo modo:
launchctl list |more
Questo ti permette di premere il tasto Invio per navigare più lentamente nell'elenco.
Se conosci in generale il servizio che stai cercando, puoi anche usare “grep” per trovare il servizio esatto degli agenti, usiamo 'mdworker' come esempio::
launchctl list |grep mdworker
Questo riporterebbe solo i seguenti agenti di lancio:
- 0 com.apple.mdworker.sizing - 0 com.apple.mdworker.single - 0 com.apple.mdworker.shared - 0 com.apple.mdworker .mail - 0 com.apple.mdworker.lsb - 0 com.apple.mdworker.isolation - 0 com.apple.mdworker.bundles - 0 com.apple.mdworker.32bit
Per alcuni servizi, il dumping dell'elenco potrebbe anche mostrare il PID (ID processo) del servizio attivo.
Ricaricamento di un agente in launchd
Se decidi di voler riabilitare e ricaricare un servizio in launchd, usa il flag 'load' in questo modo:
launchctl load com.example.service.to.load
Alcuni agenti verranno caricati istantaneamente senza problemi. Per altri, potrebbe essere necessario riavviare il Mac prima che il servizio caricato funzioni di nuovo come previsto, anche se a volte è sufficiente disconnettersi e riconnettersi.
