nohup node server.js > /dev/null 2>&1 &
nohup
significa:Non terminare questo processo anche quando lo stty è interrotto.> /dev/null
significa:stdout va a /dev/null (che è un dispositivo fittizio che non registra alcun output).2>&1
significa:stderr va anche allo stdout (che è già reindirizzato a/dev/null
). Puoi sostituire &1 con un percorso file per mantenere un registro degli errori, ad esempio:2>/tmp/myLog
&
alla fine significa:esegui questo comando come attività in background.
Soluzione semplice (se non sei interessato a tornare al processo, vuoi solo che continui a funzionare):
nohup node server.js &
C'è anche il jobs
comando per visualizzare un elenco indicizzato di tali processi in background. E puoi terminare un processo in background eseguendo kill %1
o kill %2
dove il numero è l'indice del processo.
Soluzione efficace (consente di riconnettersi al processo se è interattivo):
screen
Puoi quindi scollegare premendo Ctrl+a+d e quindi ricollegare eseguendo screen -r
Considera anche la nuova alternativa a screen, tmux.
Dovresti davvero provare a usare screen
. È un po' più complicato del semplice fare nohup long_running &
, ma comprendendo lo schermo una volta che non torni più.
Inizia prima la tua sessione sullo schermo:
[email protected]:~$ screen
Esegui tutto quello che vuoi:
wget http://mirror.yandex.ru/centos/4.6/isos/i386/CentOS-4.6-i386-binDVD.iso
Premi ctrl+A e poi d. Fatto. La tua sessione continua in background.
Puoi elencare tutte le sessioni per screen -ls
e allegare ad alcuni con screen -r 20673.pts-0.srv
comando, dove 0673.pts-0.srv è un elenco di voci.