View Full Version : processo che non termina alla disconnessione
Se eseguo un processo su una macchina remota quando mi disconnetto il processo muore. Come faccio a far si che continui anche dopo la mia disconnessione?
Scoperchiatore
07-09-2006, 19:53
Se eseguo un processo su una macchina remota quando mi disconnetto il processo muore. Come faccio a far si che continui anche dopo la mia disconnessione?
basta lanciarlo in background. Quando ti disconnetti lo eredita init, e non muore finchè non termina spontaneamente.
per lanciare in background usa "&" alla fine del comando
Se faccio
cat a_big_file | awk '{print $3 $2 $1}' | sort -un -k 5,5 &
lancio questo comando in background e se mi sconnetto, chiudo la shell, etc..., lui continua a vivere. Ovviametne perdo tutto l'output che però può essere opportunamente direzionato:
cat a_big_file | awk '{print $3 $2 $1}' | sort -un -k 5,5 > risultato.txt 2>errori.txt &
In questo modo il risultato del programma (o eventuali messaggi importanti) vanno sul file "risultato.txt", qualunque cosa stampata sullo standard error viene redirezionata e salvata nel file "errori.txt"
Se devi anche sapere come finirà il programma (se esce con stato d'uscita 0 o altri) forse è utile metterci vicino un time opportunamente settato, ma lì le cose si complicano. Questo ti dovrebbe bastare ;)
basta lanciarlo in background. Quando ti disconnetti lo eredita init, e non muore finchè non termina spontaneamente.
per lanciare in background usa "&" alla fine del comando
Se faccio
cat a_big_file | awk '{print $3 $2 $1}' | sort -un -k 5,5 &
lancio questo comando in background e se mi sconnetto, chiudo la shell, etc..., lui continua a vivere.
non è vero, i figli del processo shell, muoiono con lui, e poi io non uso la shell in locale, io apro una shell e faccio ssh xxx@xxx.xxx
e poi lavolo li. al momento della disconnessione dal server (per esempio allo spegnimento del mio computer) muoiono tutti i processi sull'account remoto.
prova nohup
grazie, funziona
Scoperchiatore
07-09-2006, 23:05
non è vero, i figli del processo shell, muoiono con lui, e poi io non uso la shell in locale, io apro una shell e faccio ssh xxx@xxx.xxx
e poi lavolo li. al momento della disconnessione dal server (per esempio allo spegnimento del mio computer) muoiono tutti i processi sull'account remoto.
Suppongo dipenda anche dai settaggi di ssh, dato che io non ho mai avuto bisogno di nohup, ma lancio vari processi in background per ore.
Primariamente dipende dal livello di nice del processo.
Nohup credo non faccia altro ke settare il nice a 15 o a 10, c'e` un livello oltre cui i processi non crepano piu` al logout.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.