Che cosa fa lo scaricamento di launchctl in realtà?

4

Quando si esegue launchctl unload some.plist , quale è il comando tradotto in specifico, in termini di comandi UNIX, ecc.

Non c'è nulla in .plist file che specifica una "riga di comando da eseguire quando l'utente specifica lo scaricamento", quindi macOS semplicemente invia un segnale kill al processo? O cosa fa?

    
posta forthrin 05.08.2018 - 15:29
fonte

2 risposte

8

SIGTERM

Il comando unload di launchd invia un segnale SIGTERM ai processi figli del lavoro associato.

Processi distaccati

Se un processo lanciato da un processo launchd si è staccato dal suo processo padre, unload non avrà effetto su quel processo. Questo è spesso il caso dei processi demonizzati .

Codice sorgente originale

Puoi scaricare e ispezionare il codice sorgente launchd originale . launchd è stato riscritto ed è proprietario di Apple, ma l'originale documenta il comportamento previsto su unload .

    
risposta data 05.08.2018 - 16:14
fonte
2

Per rispondere al meglio a questa domanda, possiamo esaminare due cose: i comandi UNIX e cosa c'è in un file .plist.

Iniziando con un .plist, il codice seguente è di solito lì

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleExecutable</key>
  <string>someApplication</string>
</dict>
</plist>

Il CFBundleExecutable identifica il nome del file eseguibile principale del bundle. Per un'app, questo è l'eseguibile dell'app. Per un pacchetto caricabile, è il file binario che verrà caricato dinamicamente dal pacchetto.

Quindi digitando launchctl unload some.plist dirà a MacOS la chiave per individuare il file eseguibile del bundle e "scaricarlo" o essenzialmente cancellarlo dal sistema. Lo dice a livello di applicazione .

Quando si usa un comando UNIX come kill <PID> si fa riferimento a un processo specifico.

Guardare cosa è un processo contro l'applicazione qui è una buona lettura


Puoi leggere ulteriormente in cosa sono le .plists e come funzionano su Apple

    
risposta data 05.08.2018 - 15:57
fonte

Leggi altre domande sui tag