Title: NoHUP
Author: Sandro Tosi
Last modified: 2004-03-16
Quando si fa login su una shell Unix e si lancia un programma, viene
creato un processo figlio della shell (si provi ad eseguire da una
shell `ps f', che mostra graficamente questa relazione). Quando si
chiude la shell, viene mandato un segnale di disconnessione (HANGUP) a
tutti i suoi figli che vengono "ammazzati" di conseguenza. Anche sei i
programmi sono fatti partire in background con l'ampersand ("&") al
termine della linea di comando, questi, pur sganciandosi dal
terminale, rimangono comunque figli della shell e subiranno lo stesso
trattamento.
Esiste pero' un comando, `nohup', che rende immuni i figli dall'hangup
(nohup sta appunto per NO HangUP). Sara' quindi sufficiente usare il
comando premettendovi nohup:
nohup <comando> &
Cosi', sganciandosi dalla shell, il comando trascurera' le richieste
di disconnessione. Il problema e' che il programma non potra',
ovviamente, usufruire dell'interazione con l'utente: per esempio
l'output viene rediretto sul file `nohup.out'.
|