Öld meg az összes leállított munkát Linux

Kill All Stopped Jobs Linux



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 munkahelyeket

A 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 -az

Ez 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 %1

Ez a munkát előtérbe helyezi, mint:

[e -mail védett]: ~ $fg %1

firefox

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ép

JEGYZET : 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 -s

Ez 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.