Risposte:
Leggi la sua documentazione. Questo è l'unico modo. Come già scritto da Keith , il significato originale di SIGHUP era che l'utente aveva perso l'accesso al programma e quindi i programmi interattivi sarebbero morti. I demoni - programmi che non interagiscono direttamente con l'utente - non hanno bisogno di questo comportamento e spesso ricaricano i loro file di configurazione quando ricevono SIGHUP. Ma queste sono solo convenzioni.
Se hai la fonte, puoi leggere anche quella. Oppure, se hai solo il binario, puoi provare a smontarlo, cercare le sigaction
chiamate per impostare un gestore di segnale SIGHUP
e provare a capire cosa stanno facendo quei gestori di segnale. Sarà più facile organizzare in primo luogo non inviare SIGHUP a quel programma.
In qualsiasi momento, un determinato processo si trova in uno dei tre stati rispetto a un determinato segnale: ignorarlo, eseguire l'azione predefinita o eseguire un gestore personalizzato. Molti unices ti permettono di vedere la maschera di segnale di un processo con ps
, ad esempio con ps s
su Linux. Questo può dirti se il processo ignora il segnale o morirà istantaneamente su SIGHUP, ma se il processo ha impostato un gestore non puoi dire cosa fa il gestore.
L'azione predefinita è terminare il processo su SIGHUP. Vedi man 7 signal
per maggiori dettagli. Ma i programmi possono intrappolarlo e fare quello che vogliono. Poiché i processi daemon non dovrebbero mai uscire, usano comunemente SIGHUP per altri scopi, come reinizializzare se stessi (come fa pppd). Firefox mantiene l'azione predefinita.