Stavo leggendo la pagina man launchctl e ho alcune domande sul suo funzionamento:
- Qual'è la differenza tra load e start, unload e stop?
- Dove trovo l'etichetta del lavoro per un demone, si trova nel file plist?
Stavo leggendo la pagina man launchctl e ho alcune domande sul suo funzionamento:
Risposte:
launchctl load -w
e launchctl unload -w
.start
e di stop
solito sono riservati per il test o il debug di un lavoro.launchctl start <label>
: Inizia il lavoro. Questo di solito è riservato solo per testare o eseguire il debug di un particolare lavoro.launchctl stop <label>
: Interrompe il lavoro. Di fronte all'avvio ed è possibile che il lavoro venga riavviato immediatamente se il lavoro è configurato per rimanere in esecuzione.launchctl remove <label>
: Rimuove il lavoro da launchd
, ma in modo asincrono. Non aspetterà che il processo si interrompa prima di tornare, quindi nessun errore di gestione su questo.launchctl load <path>
: Carica e avvia il lavoro purché il lavoro non sia "disabilitato".launchctl unload <path>
: Interrompe e scarica il lavoro. Il lavoro verrà comunque riavviato al successivo accesso / riavvio.launchctl load -w <path>
: Carica e avvia il lavoro e allo stesso tempo contrassegna il lavoro come "non disabilitato". Il lavoro verrà riavviato al successivo accesso / riavvio.launchctl unload -w <path>
: Interrompe e scarica e disabilita il lavoro. Il lavoro NON verrà riavviato al successivo accesso / riavvio.Dove trovo l'etichetta del lavoro per un demone, si trova nel file plist?
Sì, si trova nel file plist e corrisponde in genere al nome del file plist.
Il caricamento e lo scaricamento indica a launchd di caricare il file di configurazione. Se esegue il programma e in quali condizioni è determinato dal file plist. Un lavoro che non è attualmente in esecuzione può essere avviato launchctl start ...
e interrotto con launchctl stop ...
.
L'etichetta per il lavoro è definita dalla chiave etichetta e il nome del plist dovrebbe essere anche l'etichetta del lavoro seguita dall'estensione del plist.