Ubijte vsa ustavljena delovna mesta Linux

Kill All Stopped Jobs Linux



V Linuxu se opravilo nanaša na postopek, ki ga zažene in upravlja lupina. To je lahko en sam ukaz, dolg in zapleten ukaz lupine, vključno s cevmi in preusmeritvami, izvedljivo datoteko ali skriptom. Vsako opravilo v Linuxu se upravlja z dodelitvijo IP -ja zaporednega opravila, povezanega z določenim procesom.

Ključni koncept za razumevanje delovnih mest v sistemu Linux so njihovi statusi. Za delovna mesta v Linuxu obstajata dva glavna statusa:







  • V ospredju
  • Ozadje

Delovna mesta v ospredju

Opravilo v ospredju se nanaša na ukaz ali program, izveden v lupini, in zaseda terminalsko sejo, dokler se ne dokonča. Primer bi bil zagon upravitelja datotek ali brskalnika v terminalu



Na naslednjem posnetku zaslona je na primer terminalsko okno z opravilom v ospredju.







Na zgornji sliki poziv lupine ni na voljo, dokler se okno Firefoxa ne zapre.

Ozadja

Nasprotje ospredja so delovna mesta v ozadju. Za začetek opravila v lupini kot opravila v ozadju uporabljamo simbol ampersand (&). S tem pove lupini, naj v ozadje postavi vse ukaze, ki pridejo pred ampersand, in takoj prikaže poziv lupine.



Spodnji primer prikazuje, kako posel Firefox (v zgornjem primeru) postaviti v ozadje.

Kot lahko vidite, je poziv lupine zdaj na voljo, čeprav Firefox še vedno deluje.

Opazili boste številčne vrednosti, prikazane za opravila v ozadju. Prva označena z oglatimi oklepaji ([]) prikazuje ID opravila, druga vrednost pa označuje PID procesa, povezanega z opravilom.

Kako upravljati delovna mesta v ozadju

Ukaz jobs upravlja krmiljenje opravil. To vam omogoča ogled opravil v ozadju.

sudo službe

Izvajanje zgornjega ukaza prikaže opravila v ozadju, kot je prikazano spodaj:

Na levi strani imamo ID zaposlitve.

Takoj za oklepajem sledi znak plus (+) ali minus (-). Znak plus označuje, da je to trenutno delo, minus številka pa naslednje delo.

Naslednji oklepaj prikazuje stanje opravila. To se lahko izvaja, ustavi, konča, opravi ali zapre s kodo stanja.

Nazadnje zadnji del prikazuje dejansko ime opravila.

Pokažite opravila s PID

Za prikaz opravil v ozadju z ustreznimi vrednostmi PID uporabljamo zastavico -l kot:

službe -

To bo prikazalo opravila v ozadju z vrednostmi PID, kot je prikazano na spodnji sliki.

Ozadja z izhodom

Recimo, da imamo delo, ki ga želimo izvajati v ozadju in na zaslonu izpiše izpis. Na primer, v zgornjem primeru sem dal ukaz apt, ki ima veliko ozadja v ozadju, ne da bi pokvaril svoj terminal.

Če želite to narediti, lahko preusmerite izhod v /dev /null kot:

sudo apt-get posodobitev > /dev/nič&

Kako v ospredje postaviti delo v ozadju

Z ukazom fg lahko v ospredje postavimo opravila v ozadju. Na primer, da bi opravilo firefox z Job ID 1 v ozadje, lahko naredimo:

fg %1

Tako bo delo prišlo v ospredje:

[zaščiteno po e -pošti]: ~ $fg %1

firefox

Možnosti ukaza Jobs

Ukaz za opravila nima veliko možnosti.

Že smo razpravljali o -l za prikaz opravil z njihovimi ID -ji procesa.

Druge možnosti, ki jih lahko posredujete ukazu za delo, so:

  • -n - To prikazuje opravila, ki so spremenila svoj status od zadnjega obvestila. Na primer opravilo, ki se je iz tečečega v stanje ustavljeno.
  • -str - Navaja samo PID -je delovnih mest.
  • -r - samo tekoča delovna mesta
  • -s - Prikazuje samo ustavljena delovna mesta.

Kako prenehati ali ubiti delovna mesta

Opravila lahko prekinemo z ukazom kill, ki mu sledi ID opravila, podniz ali ID procesa.

Ubijte z ID -jem dela

Za ubijanje opravila z ID -jem opravila uporabimo %, ki mu sledi vrednost id, kot:

ubiti %%

To bo ubilo trenutno delo; to je podobno %+.

Ubij delo s podnizom

Ubijanje opravila s podnizom, predponu podniza z %? sledi vrednost podniz:

ubiti %? gnome-kalkulator

OPOMBA : Linux hkrati izvaja opravila. To pomeni, da med razpoložljivimi delovnimi mesti skače naprej in nazaj, dokler se ne dokončajo. Tako boste s prekinitvijo terminalske seje z opravljenimi opravili prekinili vsa vaša opravila.

Če uporabljate terminalski multiplekser, kot je tmux ali zaslon, vam ni treba skrbeti, saj jih lahko znova pritrdite.

Kako ubiti ustavljena delovna mesta

Če želimo ubiti vsa ustavljena delovna mesta, moramo povezati dva ukaza. Prvi bo dobil PID za vsa ustavljena delovna mesta, naslednji pa bo ubil vsa zagotovljena delovna mesta.

Za ogled ustavljenih opravil uporabimo ukaz

službe -s

Ta ukaz prikazuje vsa ustavljena opravila.

Ob tem lahko dobimo PID -je ustavljenih opravil in jih usmerimo na ukaz kill kot:

sudo ubiti -9 ''službe -str-s''

To bo ubilo vsa ustavljena delovna mesta.

Zaključek

Ta vadnica je obravnavala koncepte nadzora delovnih mest v Linuxu in kako priti do informacij o delovnih mestih. Dobro je omeniti, da nadzor delovnih mest morda ni na voljo, odvisno od izbrane lupine.

Hvala za branje & Happy Shells.