Při ukončení shellu Systému Linux, všechny běžící procesy jsou obvykle ukončeny nebo zavěsit. Co tedy děláte, pokud stále chcete, aby procesy probíhaly i při opuštění shellu/terminálu? Tady přichází příkaz nohup.
Nohup Command
Nohup, zkratka pro no hang up je příkaz v systémech Linux, který udržuje procesy spuštěné i po ukončení shellu nebo terminálu.,
Nohup zabraňuje procesy nebo práce z obdrží SIGHUP (Signál Zavěsit) signál. Jedná se o signál, který je odeslán do procesu po uzavření nebo opuštění terminálu. V této příručce se podíváme na příkaz nohup a ukážeme, jak jej lze použít.,
Nohup Příkaz Syntaxe
Nohup příkaz syntaxe je následující;
nohup command arguments
NEBO
nohup options
podívejme se, jak příkaz přichází do hry,
Kontrola verze Nohup
Můžete začít tím, že kontrola verze Nohup pomocí syntaxe níže
nohup --version
Výstupní
Počáteční proces, pomocí Nohup
Pokud chcete, aby se vaše procesy/práce běží, předcházet příkaz nohup
, jak je znázorněno níže., Úlohy budou i nadále běžet ve skořápce a nebudou zabity po opuštění shellu nebo terminálu., rozhodnou přesměrovat výstup do různých souborů, jak je znázorněno.
nohup ./hello.sh > output.txt
ještě Jednou, chcete-li soubor run
cat output.txt
Výstupní
přesměrovat do souboru a na standardní chybový výstup pomocí > filename 2>&1
atribut, jak je znázorněno.
nohup ./hello.sh > myoutput.txt >2&1
Výstup
Spuštění procesu na pozadí pomocí Nohup
spustit proces na pozadí pomocí &
symbol na konci příkazu., V tomto příkladu jsme pinging google.com a poslat ho do pozadí.,id=“8516ed8814″>
Výstupní
zkontrolujte, zda proces při obnovení shell pomocí pgrep
příkaz jak je uvedeno
pgrep -a ping
Výstupní
Pokud chcete zastavit nebo zabít běžící proces, pomocí kill
příkaz následovaný ID procesu, jak je znázorněno.
kill 2565
Výstupní
Shrnutí
- Všechny procesy, které jsou spuštěny pomocí nohup příkaz bude ignorovat signál SIGHUP i po ukončení shellu.,
- jakmile je úloha spuštěna nebo provedena pomocí příkazu nohup, nebude stdin uživateli k dispozici.
- ve výchozím nastavení se jako výchozí Soubor pro stdout a stderr používá
nohup.out
.
Leave a Reply