nohup - Run Commands in the Background - Linux CLI
Tartalomjegyzék:
- A nohup parancs használata
- A parancs futtatása a háttérben
- A kimenet átirányítása egy fájlba
- alternatívák
- Képernyő
- Tmux
- Megtagad
- Következtetés
A
nohup
parancs egy másik, argumentumként megadott programot hajt végre, és figyelmen kívül hagyja az összes
SIGHUP
(hangup) jelet.
SIGHUP
egy olyan jel, amelyet egy folyamatnak küldünk, amikor a vezérlőterminál bezáródik.
Általában, amikor egy programot futtat SSH-n keresztül, ha a kapcsolat megszakad vagy kijelentkezik, a munkamenet leáll, és a terminálról végrehajtott összes folyamat leáll. Itt hasznos a
nohup
parancs. Figyelmen kívül hagyja az összes hangup jelet, és a folyamat folytatódni fog.
A nohup parancs használata
A
nohup
parancs szintaxisa a következő:
nohup COMMAND
A parancs nem fogad el más opciókat, kivéve a szokásos
--help
és
--version
.
Vessen egy pillantást a következő példára:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
az előtérben futtatja a
mycommand
parancsot, és a parancs kimenetét a
nohup.out
fájlba irányítja. Ezt a fájlt az aktuális működő könyvtárban hozza létre. Ha a parancsot futtató felhasználónak nincs írási jogosultsága a működő könyvtárba, akkor a fájlt a felhasználó saját könyvtárában hozza létre.
Ha kijelentkezik vagy bezárja a terminált, a folyamat nem fejeződik be.
A parancs futtatása a háttérben
A
nohup
előtérben történő használata nem nagyon hasznos, mert addig nem fog tudni kommunikálni a héjjal, amíg a parancs be nem fejeződik.
A parancs háttérben futtatásához csatolja a
&
szimbólumot a parancs végére:
nohup mycommand &
A kimenet tartalmazza a héj job azonosítóját (zárójelekkel körülvéve) és a folyamat azonosítóját:
25177
A job ID segítségével a parancs az
fg
paranccsal kerülhet előtérbe.
Ha valamilyen okból meg akarja fejezni a folyamatot, akkor használja a
kill
parancsot, amelyet a folyamat azonosítója követ:
A kimenet átirányítása egy fájlba
Alapértelmezés szerint a
nohup
a parancs kimenetét a
nohup
irányítja. Ha átirányítani szeretné a kimenetet egy másik fájlra, akkor használja a szokásos héj-átirányítást.
Például a normál kimenet és a szabványos hiba átirányításához a használt
mycommand.out
:
nohup mycommand > mycommand.out 2>&1 &
A szabványos kimenet és a szabványos hiba átirányítása különféle fájlokra:
nohup mycommand > mycommand.out 2> mycommand.err &
alternatívák
Számos alternatív program használható arra, hogy elkerülje a parancs megszüntetését a terminál bezárásakor vagy leválasztásakor.
Képernyő
A Képernyő vagy a GNU képernyő egy terminál multiplexer program, amely lehetővé teszi a képernyőn történő munkamenet elindítását, és tetszőleges számú ablak (virtuális terminál) megnyitását az adott munkameneten belül. A Képernyőn futó folyamatok továbbra is futnak, ha ablaka nem látható, akkor is, ha leválasztják.
Tmux
A Tmux a GNU képernyő modern alternatívája. A Tmux segítségével létrehozhat egy munkamenetet, és több ablakot nyithat meg az adott munkameneten belül. A Tmux munkamenetek tartósak, ami azt jelenti, hogy a Tmux programban futó programok akkor is futnak, ha bezárják a terminált.
Megtagad
disown
egy shell buildtin, amely eltávolítja a shell feladatot a shell job vezérléséből. A
nohup
ellentétben a
disown
a futó folyamatokban is használható.
Következtetés
nohup
lehetővé teszi a parancsok megszüntetését, amikor kijelentkezik vagy kilép a terminálról.
Linux kivágási parancs példákkal
A kivágás egy parancssori segédprogram, amely lehetővé teszi a sorok egyes részeinek kivágását a megadott fájlokból vagy a vezetékes adatokból, és az eredményt a szabványos kimenetre nyomtathatja. Ebben az oktatóanyagban megmutatjuk, hogyan kell használni a Linux vágási parancsot a leggyakoribb vágási lehetőségek gyakorlati példáin és részletes magyarázatain keresztül.
Linux far parancs
A farok parancs egy vagy több fájl vagy vezetékes adat utolsó részét jeleníti meg. Használható a fájlváltozások valós időben történő megfigyelésére is. Ebben az oktatóanyagban megmutatjuk, hogyan kell használni a Linux tail parancsot a leggyakoribb tail lehetőségek gyakorlati példáin és részletes magyarázatain keresztül.
Linux tee parancs példákkal
A tee parancs beolvassa a normál bemenetet, és egyszerre írja mind a standard kimenetet, mind egy vagy több fájlt. A Tee-t leggyakrabban más parancsokkal kombinálva használják a csővezetéken keresztül.