A volte, quando eseguo un killall
comando da Terminal, un collega suggerisce o modifica i miei script per mostrarli killall -HUP
.
Cosa fa la -HUP
parte?
A volte, quando eseguo un killall
comando da Terminal, un collega suggerisce o modifica i miei script per mostrarli killall -HUP
.
Cosa fa la -HUP
parte?
Risposte:
L' -HUP
opzione è il segnale che viene inviato ai processi dal killall
comando. Può essere un po 'difficile da dire, ma la voce pertinente nel killall
manuale è:
-SIGNAL Send a different signal instead of the default TERM. The signal may be specified
either as a name (with or without a leading SIG), or numerically.
La differenza tra il TERM
segnale predefinito che killall
invia e il HUP
segnale dipende in gran parte dal programma a cui si sta inviando il segnale. Alla fine del programma, ricevono un diverso valore del segnale di interruzione. Quindi il programma può catturare gli interrupt e decidere, in base al valore, se dovrebbero fare una cosa o l'altra.
Il TERM
segnale (storicamente il "segnale di terminazione") viene in genere inviato a un programma per richiederne la chiusura (che è una versione più gentile di forzarne la chiusura con il KILL
segnale). Il programma è libero di catturare e ignorare il TERM
segnale. Non deve terminare se non lo desidera e può ignorare completamente questo segnale.
Il HUP
segnale (storicamente il "segnale di blocco") viene in genere inviato a un programma per richiedere il riavvio e la rilettura di tutta la sua configurazione nel processo. Il comportamento effettivo del programma dipende dall'attuazione specifica del programma. Non tutti i programmi catturano HUP
e non sono richiesti per convenzione o dogma. Ad esempio, il web server Apache rileverà un HUP
segnale e rileggerà tutti i suoi file di configurazione ma non riavvierà alcun processo.
Se vuoi veramente terminare i processi e non preoccuparti se cattureranno e obbediranno, il segnale usa il KILL
segnale. Non può essere rilevato o ignorato e comporta la chiusura del processo.
Per una buona recensione dei segnali POSIX disponibili, consulta questo articolo di Wikipedia .
#FAIL
persone che non hanno mai letto oltre gli interruttori. Grazie!
Il -HUP
è il segnale di "hang up" che possono scatenare un app di cessare, leggerlo di file di configurazione, e poi ricominciare. Non è necessariamente meglio che usarlo senza.
killall Finder
e
killall -HUP Finder
Sono rispettosamente uguali. In OS X Finder verrà riavviato, ma rileggerà il suo file di configurazione. Questo potrebbe non essere realmente il caso se l'applicazione in esecuzione non ha la -HUP
funzione integrata. Come il precedente poster menzionava Apache. Legge i file di configurazione, ma non può essere riavviato.