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.