Differenza di avvio tra carico e avvio, scarico e arresto


22

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?

Risposte:


14

TL; DR

  • In genere si desidera utilizzare launchctl load -we launchctl unload -w.
  • starte di stopsolito sono riservati per il test o il debug di un lavoro.

Dettagli

  • 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.


Grazie, mi ha risparmiato alcune ore 👏🏻
Dana Woodman,

7

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.


6
Come rimuove il fattore in questo? In particolare, in cosa differisce dallo scarico?
chrisortman,

La rimozione di @chrisortman è come scaricare, tranne per il fatto che non attende che il processo venga interrotto per primo. Ritorna immediatamente immediatamente senza verificare se si sono verificati errori.
Ryan McGeary,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.