Patayin ang Lahat ng Huminto sa Mga Trabaho sa Linux

Kill All Stopped Jobs Linux



Sa Linux, ang isang trabaho ay tumutukoy sa isang proseso na sinimulan at pinamamahalaan ng shell. Iyon ay maaaring isang solong utos, isang mahaba at kumplikadong utos ng shell kasama ang mga tubo at pag-redirect, isang maipapatupad, o isang script. Ang bawat trabaho sa Linux ay pinamamahalaan sa pamamagitan ng pagtatalaga ng isang sunud-sunod na job IP na nauugnay sa isang tukoy na proseso.

Ang isang pangunahing konsepto upang maunawaan ang tungkol sa mga trabaho sa Linux ay ang kanilang mga katayuan. Mayroong dalawang pangunahing katayuan para sa mga trabaho sa Linux:







  • Walang hanggan
  • Background

Mga Trabaho sa Walang Hanggan

Ang trabaho sa harapan ay tumutukoy sa isang utos o isang programa na naisakatuparan sa shell at sinasakop ang sesyon ng terminal hanggang sa makumpleto ito. Ang isang halimbawa ay paglulunsad ng isang file manager o browser sa terminal



Halimbawa, ang sumusunod na screenshot ay nagpapakita ng isang window ng terminal na may harapan na trabaho.







Sa imahe sa itaas, ang prompt ng shell ay hindi magagamit hanggang sa magsara ang window ng Firefox.

Mga Trabaho sa Background

Ang kabaligtaran ng harapan ay mga trabaho sa background. Upang simulan ang isang trabaho sa shell bilang isang background na trabaho, ginagamit namin ang simbolo ng ampersand (&). Ang paggamit nito ay nagsasabi sa shell na ilagay ang anumang mga utos bago ang ampersand sa background at agad na ipakita ang prompt ng shell.



Ipinapakita ng halimbawa sa ibaba kung paano ilagay ang background sa trabaho ng Firefox (sa halimbawa sa itaas).

Tulad ng nakikita mo, ang prompt ng shell ay magagamit na ngayon sa kabila ng pagpapatakbo pa rin ng Firefox.

Mapapansin mo ang mga halagang may bilang na ipinapakita para sa mga trabaho sa background. Ang una, na ipinahiwatig ng mga square bracket ([]), ay nagpapakita ng job ID, habang ang iba pang halaga ay nagpapahiwatig ng PID ng proseso na nauugnay sa trabaho.

Paano Pamahalaan ang Mga Trabaho sa Background

Ang mga utos ng trabaho ang humahawak sa pagkontrol sa trabaho. Pinapayagan kang tingnan ang mga trabaho sa likuran.

sudo mga trabaho

Ang pagpapatupad ng utos sa itaas ay nagpapakita ng mga trabaho sa background tulad ng ipinakita sa ibaba:

Simula sa kaliwang bahagi, mayroon kaming Job ID.

Sumusunod kaagad pagkatapos ng mga braket ay ang plus (+) o minus (-) sign. Ipinapahiwatig ng plus sign na ito ay ang kasalukuyang trabaho, habang ang minus na numero ay nagpapakita ng susunod na trabaho.

Ipinapakita ng susunod na bracket ang estado ng trabaho. Maaari itong tumakbo, huminto, wakasan, tapos, o lumabas na may status code.

Sa wakas, ipinapakita ng huling bahagi ang tunay na pangalan ng trabaho.

Ipakita ang mga trabaho sa PID

Upang maipakita ang mga trabaho sa background sa kanilang katumbas na mga halaga ng PID, ginagamit namin ang -l flag bilang:

mga trabaho -ang

Ipapakita nito ang mga trabaho sa background kasama ang kanilang mga halagang PID, tulad ng ipinakita sa imahe sa ibaba.

Mga trabaho sa background na may output

Ipagpalagay na mayroon kaming isang trabaho na nais naming patakbuhin sa background na nagtatapon ng isang output sa screen. Halimbawa, sa halimbawa sa itaas, inilalagay ko ang apt na utos, na mayroong maraming output sa background, nang hindi ginugulo ang aking terminal.

Upang magawa ito, maaari mong i-redirect ang output sa / dev / null bilang:

sudo apt-get update > /dev/wala&

Paano Magdala ng Background Job sa Foreground

Maaari kaming magdala ng mga trabaho sa background sa harapan sa pamamagitan ng paggamit ng fg command. Halimbawa, upang dalhin sa background ang trabaho sa firefox na may Job ID na 1, maaari nating gawin:

fg %1

Dadalhin nito ang trabaho sa harapan bilang:

[protektado ng email]: ~ $fg %1

firefox

Mga Pagpipilian sa Mga Utos ng Trabaho

Ang utos ng mga trabaho ay walang maraming mga pagpipilian.

Tinalakay na natin ang -l upang maipakita ang mga trabaho kasama ang kanilang mga prosesong ID.

Ang iba pang mga pagpipilian na maaari mong ipasa sa utos ng trabaho ay kasama ang:

  • -n - Ipinapakita nito ang mga trabahong nagbago ng kanilang katayuan mula pa noong huling abiso. Halimbawa, isang trabaho na nagbago mula sa pagpapatakbo sa isang tumigil na estado.
  • -p - Mga listahan lamang ng mga PID ng mga trabaho.
  • -r –Mga tumatakbo lamang na trabaho
  • -s - Ang mga palabas ay tumigil lamang sa mga trabaho.

Paano Tapusin o Patayin ang Mga Trabaho

Maaari naming wakasan ang mga trabaho gamit ang kill command na sinusundan ng alinman sa job ID, isang substring, o ID ng proseso.

Patayin ang paggamit ng job id

Upang pumatay ng trabaho sa job ID, ginagamit namin ang% na sinusundan ng halaga ng id bilang:

patayin %%

Papatayin nito ang kasalukuyang trabaho; ito ay katulad ng% +.

Patayin ang isang Trabaho na may isang substring

Pagpatay ng isang trabaho gamit ang isang substring, unlapi ang substring na may%? sinundan ng halaga ng substring bilang:

patayin %? gnome-calculator

TANDAAN : Ang Linux ay nagsasagawa ng mga trabaho nang sabay-sabay. Nangangahulugan iyon na tumatalon pabalik-balik sa pagitan ng mga magagamit na trabaho hanggang sa makumpleto nila. Samakatuwid, ang pagtatapos ng isang sesyon ng terminal na may mga tumatakbo na trabaho ay magwawakas ng lahat ng iyong mga trabaho.

Hindi mo kailangang mag-alala tungkol dito kung gumamit ka ng isang terminal multiplexer tulad ng tmux o screen, dahil maaari mong mai-install muli ang mga ito.

Paano Patayin ang Huminto sa Trabaho

Para mapatay namin ang lahat ng tumigil na trabaho, kailangan nating itali ang dalawang utos. Makukuha ng una ang mga PID ng lahat ng pinahinto na trabaho, at ang susunod ay papatayin ang lahat ng mga ibinigay na trabaho.

Upang matingnan ang mga tumigil na trabaho, gumagamit kami ng utos

mga trabaho -s

Ipinapakita ng utos na ito ang lahat ng mga tumigil na trabaho.

Ang pagkakaroon nito, makakakuha tayo ng mga PID ng mga tumitigil na trabaho at mai-tubo ang mga ito upang patayin ang utos bilang:

sudo patayin -9 'mga trabaho -p-s'

Papatayin nito ang lahat ng mga tumitigil na trabaho.

Konklusyon

Ang tutorial na ito ay nagpunta sa mga konsepto ng kontrol sa trabaho sa Linux at kung paano makakuha ng impormasyon tungkol sa mga trabaho. Mahusay na tandaan na ang kontrol sa trabaho ay maaaring hindi magagamit depende sa iyong shell ng pagpipilian.

Salamat sa pagbabasa at Maligayang Mga Shell.