Linuxban a job a shell által elindított és kezelt folyamatra utal. Ez lehet egyetlen parancs, egy hosszú és összetett shell parancs, beleértve a csöveket és átirányításokat, egy végrehajtható fájl vagy egy szkript. A Linux minden feladatát egy adott folyamathoz társított szekvenciális job IP -k hozzárendelésével kezelik.
A Linux -feladatok megértésének kulcsfogalma az állapotuk. A Linux -feladatoknak két fő állapota van:
- Előtér
- Háttér
Előtér állások
Az előtérbeli feladat a parancsban vagy a shellben végrehajtott programra utal, és elfoglalja a terminál munkamenetét, amíg be nem fejeződik. Például egy fájlkezelő vagy böngésző elindítása a terminálon
Például az alábbi képernyőképen egy terminál ablak látható, előtérbeli feladattal.
A fenti képen a shell parancs nem érhető el a Firefox ablak bezárásáig.
Háttér állások
Az előtér ellentéte a háttérmunkák. Ahhoz, hogy háttérfeladatként kezdeményezzen egy feladatot a shellben, az ampersand (&) szimbólumot használjuk. Ennek használatával a shell azt mondja, hogy a parancsok a háttérben az ampersand elé kerüljenek, és azonnal megjelenítse a shell parancsot.
Az alábbi példa bemutatja, hogyan lehet a Firefox feladatot (a fenti példában) háttérbe helyezni.
Amint láthatja, a shell parancs most elérhető, annak ellenére, hogy a Firefox továbbra is fut.
Észre fogja venni a háttérmunkák számértékeit. Az első szögletes zárójelben ([]] jelzi a job azonosítóját, míg a másik érték a jobhoz társított folyamat PID -jét.
Háttérmunkák kezelése
A job parancs kezeli a job vezérlését. Ez lehetővé teszi a feladatok megtekintését a háttérben.
sudo munkahelyeketA fenti parancs végrehajtása háttérmunkákat jelenít meg az alábbiak szerint:
A bal oldaltól kezdve megvan a Job azonosítója.
A zárójelek után közvetlenül a plusz (+) vagy a mínusz (-) jel következik. A plusz jel azt jelzi, hogy ez az aktuális feladat, míg a mínusz szám a következő feladatot mutatja.
A következő zárójel mutatja a munka állapotát. Ez futtatható, leállítható, leállított, kész vagy kiléphet állapotkóddal.
Végül az utolsó rész a munka tényleges nevét mutatja.
Mutasd a PID -vel rendelkező munkákat
A háttérmunkák és a hozzájuk tartozó PID -értékek megjelenítéséhez az -l jelzőt használjuk:
munkahelyeket -azEz megmutatja a háttérmunkákat a PID -értékeikkel együtt, amint az az alábbi képen látható.
Háttér feladatok kimenettel
Tegyük fel, hogy van egy olyan feladatunk, amelyet a háttérben szeretnénk futtatni, és amely egy kimenetet dob ki a képernyőn. Például a fenti példában a sok kimenettel rendelkező apt parancsot a háttérbe helyeztem anélkül, hogy elrontanám a terminált.
Ehhez átirányíthatja a kimenetet a /dev /null fájlba a következőképpen:
sudo apt-get frissítés > /dev/nulla&Hogyan hozzuk előtérbe a háttérmunkát
A háttérmunkákat az fg paranccsal tehetjük előtérbe. Például, ha háttérbe szeretnénk helyezni az 1 -es feladat -azonosítójú firefox -feladatot, akkor a következőket tehetjük:
fg %1Ez a munkát előtérbe helyezi, mint:
[e -mail védett]: ~ $fg %1firefox
Munkaparancs -beállítások
A job parancsnak nincs sok lehetősége.
Már megbeszéltük az -l -t, hogy a feladatokat a folyamat -azonosítójukkal együtt mutassuk meg.
További lehetőségek, amelyeket átadhat a job parancsnak:
- -n - Ez azokat a munkákat mutatja, amelyek az utolsó értesítés óta megváltoztatták állapotukat. Például egy munka, amely futásról leállított állapotra változott.
- -p - Csak a feladatok PID -jeit sorolja fel.
- -r - csak futó munkák
- -s - Csak a leállított munkákat mutatja.
Hogyan lehet megszüntetni vagy megölni a munkákat
A jobokat a kill paranccsal fejezhetjük be, amelyet a job azonosítója, egy allánc vagy a folyamat azonosítója követ.
Öld meg a job azonosítójával
A job azonosítóval történő megöléséhez a % -ot és az azonosító értéket használjuk:
megöl %%Ez megöli a jelenlegi munkát; ez hasonló a %+-hoz.
Öld meg a munkát egy allánccal
Ha megöl egy feladatot egy alstringet, az előtag a %karakterlánc? amelyet az allánc értéke követ:
megöl %? gnome-számológépJEGYZET : A Linux párhuzamosan hajt végre feladatokat. Ez azt jelenti, hogy előre -hátra ugrik a rendelkezésre álló munkák között, amíg azok be nem fejeződnek. Ennélfogva, ha befejezi a terminál munkamenetét futó jobokkal, az összes jobja megszűnik.
Nem kell aggódnia emiatt, ha olyan terminál multiplexert használ, mint a tmux vagy a képernyő, mivel újra csatlakoztathatja őket.
Hogyan lehet megölni a leállított munkákat
Ahhoz, hogy megállítsuk az összes leállított feladatot, két parancsot kell összekötnünk. Az első megkapja az összes leállított feladat PID -jét, a következő pedig az összes megadott feladatot.
A leállított feladatok megtekintéséhez a parancsot használjuk
munkahelyeket -sEz a parancs megjeleníti az összes leállított feladatot.
Ennek birtokában le tudjuk szerezni a leállított feladatok PID -jeit, és a következő parancsokkal csíphetjük őket a kill parancsra:
sudo megöl -9 ``munkahelyeket -p-s``Ez megöli az összes leállított feladatot.
Következtetés
Ez az oktatóanyag áttekintette a Linux -on végzett munkavezetés fogalmait és azt, hogyan szerezhet információt a feladatokról. Jó megjegyezni, hogy a feladatok vezérlése a választott héjtól függően nem biztos, hogy elérhető.
Köszönjük, hogy elolvasta és a Happy Shells -t.