nohup - Run Commands in the Background - Linux CLI
Obsah:
- Jak používat příkaz nohup
- Spuštění příkazu na pozadí
- Přesměrování výstupu do souboru
- Alternativy
- Obrazovka
- Tmux
- Popřít
- Závěr
Příkaz
nohup
provede jiný program určený jako jeho argument a ignoruje všechny signály
SIGHUP
(hangup).
SIGHUP
je signál, který je odeslán do procesu, když je jeho ovládací terminál uzavřen.
Obvykle, když spustíte program přes SSH, pokud vaše připojení klesne nebo se odhlásíte, relace je ukončena a všechny procesy spuštěné z terminálu se zastaví. Zde se hodí příkaz
nohup
. Ignoruje všechny signály zavěšení a proces bude pokračovat.
Jak používat příkaz nohup
Syntaxe příkazu
nohup
je následující:
nohup COMMAND
Příkaz nepřijímá žádné jiné možnosti kromě standardních
--help
a
--version
.
Podívejme se na následující příklad:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
spustí příkaz
mycommand
v popředí a přesměruje výstup příkazu do souboru
nohup.out
. Tento soubor je vytvořen v aktuálním pracovním adresáři. Pokud uživatel spouštějící příkaz nemá oprávnění k zápisu do pracovního adresáře, soubor se vytvoří v domovském adresáři uživatele.
Pokud se odhlásíte nebo zavřete terminál, proces nebude ukončen.
Spuštění příkazu na pozadí
Použití
nohup
v popředí není příliš užitečné, protože až do dokončení příkazu nebudete moci komunikovat s shellem.
Chcete-li spustit příkaz na pozadí, připojte na konec příkazu symbol
&
:
nohup mycommand &
Výstup obsahuje ID úlohy shellu (obklopené závorkami) a ID procesu:
25177
ID úlohy můžete použít k přivedení příkazu do popředí pomocí příkazu
fg
.
Pokud z nějakého důvodu chcete proces ukončit, použijte příkaz
kill
následovaný ID procesu:
Přesměrování výstupu do souboru
Standardně
nohup
přesměruje výstup příkazu do souboru
nohup.out
. Pokud chcete přesměrovat výstup do jiného souboru, použijte standardní přesměrování prostředí.
Například pro přesměrování standardního výstupu a standardní chyby na
mycommand.out
byste použili:
nohup mycommand > mycommand.out 2>&1 &
Přesměrování standardního výstupu a standardní chyby na různé soubory:
nohup mycommand > mycommand.out 2> mycommand.err &
Alternativy
Existuje několik alternativních programů, pomocí kterých můžete zabránit tomu, aby byl příkaz ukončen při zavření terminálu nebo odpojení.
Obrazovka
Obrazovka nebo GNU Obrazovka je terminálový multiplexerový program, který vám umožní spustit relaci obrazovky a otevřít libovolný počet oken (virtuálních terminálů) uvnitř této relace. Procesy spuštěné na obrazovce se budou nadále zobrazovat, i když se jejich okno nezobrazí, i když se odpojíte.
Tmux
Tmux je moderní alternativa k obrazovce GNU. S Tmux můžete také vytvořit relaci a otevřít v ní více oken. Relace Tmux jsou trvalé, což znamená, že programy spuštěné v Tmuxu budou i nadále fungovat, i když zavřete terminál.
Popřít
disown
je vestavěný shell, který odstraní úlohu shellu z ovládání úlohy shellu. Na rozdíl od
nohup
, můžete použít
disown
na běžící procesy také.
Závěr
nohup
umožňuje zabránit ukončení příkazů při odhlášení nebo ukončení terminálu.
Jak používat linux ftp příkaz k přenosu souborů

FTP (File Transfer Protocol) je standardní síťový protokol používaný k přenosu souborů do a ze vzdálené sítě. V tomto tutoriálu vám ukážeme, jak používat příkaz linux ftp prostřednictvím praktických příkladů.
Jak používat linux sftp příkaz k přenosu souborů

SFTP (SSH File Transfer Protocol) je bezpečný souborový protokol používaný pro přístup, správu a přenos souborů přes šifrovaný přenos SSH. V tomto tutoriálu vám ukážeme, jak používat Linux `sftp` příkaz.
Linux cut příkaz s příklady

Vyjmout je obslužný program příkazového řádku, který umožňuje vyjmout části řádků z určených souborů nebo dat z potrubí a výsledek vytisknout na standardní výstup. V tomto tutoriálu vám ukážeme, jak používat příkaz Linux cut pomocí praktických příkladů a podrobných vysvětlení nejběžnějších možností řezu.