Ho avviato uno script Perl dal terminale che viene eseguito in background:
>perl myScript.pl &
Se esco, interromperà l'esecuzione del mio script?
Grazie!
Sì, è facile da provare. Scrivi uno script perl che aggiunge la data a un file ogni minuto ed eseguila in background. Disconnettersi, attendere 5 minuti, accedere, controllare 5 voci corrispondenti alle volte che si è disconnessi. Per farlo funzionare in futuro (troppo tardi se è già in esecuzione) usa nohup come spiegato in un'altra risposta. È possibile eseguire lo sfondo di uno script in primo piano dopo averlo avviato (CTRL-Z) ma non è possibile eseguirlo solo all'esecuzione
Oltre alla risposta di @ stuffe, se hai effettuato l'accesso tramite ssh
ed esegui il tuo comando, morirà quando chiudi la connessione. Quindi, se fossi a casa e ssh
'edito nella tua workstation dell'ufficio ed esegui il tuo comando perl myScript.pl &
, morirebbe quando exit
' edita dalla connessione ssh
.
Per evitare questo problema, ti consigliamo di utilizzare il comando nohup
, che risale ai giorni del teletype e significa "no hangup" --- essenzialmente fa in modo che il comando ignori POSIX HUP (hangup) segnale. È usato come:
nohup perl myScript.pl &
Continuerà a essere eseguito sulla workstation dell'ufficio anche dopo la disconnessione / disconnessione dal computer di casa.
Leggi altre domande sui tag terminal user-account