általában amikor parancsot futtat a terminálon, meg kell várnia, amíg a parancs befejeződik, mielőtt beírhat egy másikat. Ezt úgy hívják, hogy futtatja a parancsot az előtérben vagy az előtérben. Amikor egy folyamat fut az előtérben, akkor elfoglalja a héjat, és a beviteli eszközök segítségével kölcsönhatásba léphet vele.

mi van, ha a parancs hosszú időt vesz igénybe a befejezéshez, és közben más parancsokat is futtatni szeretne? Számos lehetőség áll az Ön rendelkezésére., A legnyilvánvalóbb és legegyszerűbb lehetőség egy új shell munkamenet indítása, valamint a parancs futtatása. Egy másik lehetőség a parancs futtatása a háttérben.

a háttérfolyamat egy olyan folyamat / parancs, amely egy terminálról indul, és a háttérben fut, a felhasználó interakciója nélkül.

ebben a cikkben a háttérfolyamatokról beszélünk Linux. Megmutatjuk, hogyan lehet elindítani egy parancsot a háttérben, valamint hogyan lehet a folyamatot a shell munkamenet bezárása után futtatni.,

Fut egy Linux Parancs a Háttérben #

fut a parancs, a háttérben, hozzáadjuk a jel jel (&) a végén a parancs:

command &

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

 25177

több folyamatok a háttérben fut egyszerre.

a háttérfolyamat továbbra is üzeneteket ír a terminálra, ahonnan meghívta a parancsot., To suppress the stdout and stderr messages use the following syntax:

command > /dev/null 2>&1 & 

>/dev/null 2>&1 means redirect stdout to /dev/null and stderr to stdout .,/div>

, Hogy egy háttérben futó folyamat, hogy az előtérben, használja a fg parancs:

fg

Ha több háttér munkát, include % a feladat AZONOSÍTÓ parancs után:

fg %1

felmondani a háttér folyamat, használja a kill parancsot, majd a folyamat ID:

kill -9 25177

Mozgassa az Előtérben Folyamat Háttér, #

mozgatni egy előtérben futó folyamat a háttérben:

  1. Megállítani a folyamatot, ha beírja Ctrl+Z.,
  2. mozgassa a leállított folyamatot a háttérbe a bgbeírásával.

A háttérfolyamatok futtatása a Shell kilépése után #

Ha a kapcsolat megszakad, vagy kilép a shell munkamenetből, a háttérfolyamatok megszűnnek. Számos módja van annak, hogy a folyamat az interaktív shell munkamenet befejezése után futjon.,

az Egyik módja annak, hogy távolítsa el a munkát a shell feladata, ellenőrzés segítségével a disown > shell beépített:

disown

Ha több, mint egy háttérben futó, include % a feladat AZONOSÍTÓ parancs után:

disown %1

ellenőrizze, hogy a munkát el kell távolítani a táblázat az aktív munkára használja a jobs -l parancs. Az összes futó folyamat felsorolásához, beleértve a letiltottakat is, használja a ps aux parancsot.,

a folyamat futtatásának másik módja a shell kilépése után anohuphasználata.

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

parancs futtatásához a háttérben a nohup parancs segítségével írja be:

nohup command &

a parancs kimenetét átirányítja a nohup.out fájlra.,

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

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

alternatívák #

számos program lehetővé teszi, hogy egyszerre több interaktív munkamenet legyen.

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.

következtetés #

parancs futtatásához a háttérben a & parancs végén.

amikor egy parancsot futtat a háttérben, nem kell várnia, amíg befejeződik, mielőtt végrehajthat egy másikat.

Articles

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