Linux Nohup parancs

a nohup parancs egy másik argumentumként megadott programot hajt végre, figyelmen kívül hagyva az összes SIGHUP (hangup) jelet. SIGHUP egy olyan jel, amelyet egy folyamathoz küldenek, amikor a vezérlő terminál bezáródik.

általában, ha egy programot SSH-n futtat, ha a kapcsolat megszakad vagy kijelentkezik, a munkamenet befejeződik, és a terminálról végrehajtott összes folyamat leáll. Itt hasznos a nohup parancs., Ez figyelmen kívül hagyja az összes hangup jeleket, és a folyamat továbbra is fut.

A nohup parancs használata #

a nohup parancs szintaxisa a következő:

nohup COMMAND 

a parancs nem fogad el más opciót, kivéve a standard --help és --version.,

vessünk egy pillantást a következő példára:

nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'

nohup fut a mycommand parancs az előtérben, majd átirányítja a parancs kimenetét a nohup.out fájlhoz. Ez a fájl az aktuális munkakönyvtárban jön létre . Ha a parancsot futtató felhasználónak nincs írási jogosultsága a munkakönyvtárba, akkor a fájl a felhasználó saját könyvtárában jön létre.

ha kijelentkezik vagy bezárja a terminált, a folyamat nem fejeződik be.,

A parancs futtatása a háttérben #

használata nohup az előtérben nem nagyon hasznos, mert nem lesz képes kölcsönhatásba lépni a héjjal, amíg a parancs befejeződik.

fut a parancs, a háttérben , fűzi hozzá, hogy a & szimbólum a végén a parancs:

nohup mycommand &

A kimenet tartalmazza a shell állás AZONOSÍTÓ (körül zárójelben), illetve a folyamat AZONOSÍTÓJA:

 25177

használhatja a munka AZONOSÍTÓ, hogy hozza ide a parancsot be az előtérben használja a fg parancs.,

Ha valamilyen okból meg akarja szüntetni a folyamatot, használja a kill parancsot, amelyet a folyamatazonosító követ:

kill -9 25132

átirányítja a kimenetet egy fájlba #

alapértelmezés szerint nohup átirányítja a parancsot a nohup.out fájl kimenete. Ha a kimenetet egy másik fájlba szeretné átirányítani, használja a szabványos shell átirányítást.,

például a standard kimenetet és a standard hibát átirányítani a mycommand.out

nohup mycommand > mycommand.out 2>&1 &

a standard kimenetet és a standard hibát különböző fájlokra átirányítani:

nohup mycommand > mycommand.out 2> mycommand.err &

alternatívák #

számos alternatív program létezik, amelyek segítségével elkerülheti a terminál bezárásakor vagy a kapcsolat megszakításakor megszüntetendő parancsot.,

képernyő #

a képernyő vagy a GNU képernyő egy terminál multiplexer program, amely lehetővé teszi, hogy elindítson egy képernyő munkamenetet, és megnyissa az adott munkameneten belül tetszőleges számú ablakot (virtuális terminált). A képernyőn futó folyamatok továbbra is futnak, amikor az ablak nem látható, még akkor sem, ha megszakad.

Tmux #

a Tmux a GNU képernyő modern alternatívája. A Tmux segítségével létrehozhat egy munkamenetet, valamint több ablakot is megnyithat a munkameneten belül. A Tmux munkamenetek tartósak, ami azt jelenti, hogy a Tmux-ban futó programok továbbra is futnak, még akkor is, ha bezárja a terminált.,

Disown #

disown egy shell builtin, amely eltávolítja a shell job a shell job control. A nohup – tól eltérően a disown futási folyamatokon is használható.

következtetés #

nohup lehetővé teszi, hogy megakadályozza a parancsok megszüntetését, amikor kijelentkezik vagy kilép a terminálból.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük