nohup node server.js > /dev/null 2>&1 &
nohup
znamená:Neukončujte tento proces, i když je stty přerušen.> /dev/null
znamená:stdout jde do /dev/null (což je fiktivní zařízení, které nezaznamenává žádný výstup).2>&1
znamená:stderr také přejde na stdout (který je již přesměrován na/dev/null
). Můžete nahradit &1 cestou k souboru, aby se zachoval protokol chyb, např.:2>/tmp/myLog
&
na konci znamená:spustit tento příkaz jako úlohu na pozadí.
Jednoduché řešení (pokud nemáte zájem vrátit se k procesu, jen chcete, aby běžel):
nohup node server.js &
Je zde také jobs
Chcete-li zobrazit indexovaný seznam těchto procesů na pozadí. A proces na pozadí můžete zabít spuštěním kill %1
nebo kill %2
přičemž číslo je index procesu.
Výkonné řešení (umožňuje vám znovu se připojit k procesu, pokud je interaktivní):
screen
Poté můžete odpojit stisknutím Ctrl+a+d a poté znovu připojit spuštěním screen -r
Zvažte také novější alternativu k obrazovce, tmux.
Opravdu byste měli zkusit použít screen
. Je to trochu složitější než jen udělat nohup long_running &
, ale pochopení obrazovky, jakmile se už nikdy nevrátíte.
Nejprve spusťte relaci obrazovky:
[email protected]:~$ screen
Spusťte, co chcete:
wget http://mirror.yandex.ru/centos/4.6/isos/i386/CentOS-4.6-i386-binDVD.iso
Stiskněte ctrl+A a poté d. Hotovo. Vaše relace pokračuje na pozadí.
Všechny relace můžete vypsat podle screen -ls
a k některým připojit pomocí screen -r 20673.pts-0.srv
příkaz, kde 0673.pts-0.srv je seznam záznamů.