Naučite se Linuxa

5 hitrih načinov za uničenje procesa v Linuxu

5 hitrih načinov za uničenje procesa v Linuxu

Operacijski sistem Linux ponuja več načinov za zaključek procesa operacijskega sistema Linux. Očiten način ustavitve programa je tako, da kliknete gumb X v zgornjem levem ali desnem kotu. Obstaja pa nešteto drugih načinov, kako ubiti postopek; tu smo, da razpravljamo o drugih učinkovitih načinih.

Načini za uničenje procesa v Linuxu

Nadzorno zaporedje

Drugi očiten način, kako ubiti postopek, ki se je pravkar začel, je, da v ukazno vrstico vnesete Ctrl-C. Krmilno zaporedje Ctrl-C je na splošno varno za uporabo, čeprav je možna izguba podatkov.

Zaporedje Ctrl-Z zaustavi tekoči postopek. Signal SIGTSP pošlje procesu, katerega privzeto dejanje je začasno ustavitev procesa.

ukazov kill

Operacijski sistem Linux je opremljen z ukazom kill, s katerim lahko zaključite postopek, ko se ta ne odziva ali porabi preveč virov. Proces v Linuxu je primerek programa.

Edinstveni PID se samodejno ustvari za ta postopek, ko se program zažene. Postopek init je prvi postopek, ki se začne, ko se sistem Linux zažene in mu dodeli vrednost '1'.

Init je glavni postopek in ga ni mogoče ubiti z ukazom kill. Ukaz kill v postopku init je zgolj zahteva po izklopu sistema.

Ta vodnik vas bo popeljal skozi korake in več načinov za zaključek tekočega procesa s pomočjo terminala Linux.

Korenski uporabnik ima vsa dovoljenja, potrebna za uničenje vseh procesov. Koreninsko lupino lahko dobite z ukazom su ali pred ukazom dodate sudo in jo zaženete.

Privzeti signal, ki ga pošlje ukaz kill

Ubijanje postopka bo poslalo sporočilo o zaključku določenemu postopku. Dve glavni vrsti sporočil o odpovedi vključujejo:

• SIGTERM - ukaz kill bo privzeto poslal signal SIGTERM. Omogočati mora postopek, da se konča z običajnimi postopki zaustavitve. To je nežnejši način, da poskušate zaključiti postopek in je lahko blokiran.

• SIGKILL - Postopek bo vedno nenadoma ubil. Če SIGKILL ne deluje, operacijski sistem ni uspel. To je najhitrejša in najučinkovitejša metoda za uničenje procesa.

Naštejte tekoče procese

Ukaz top, ukaz ps in ukaz pidof so najlažji načini za ogled tekočih procesov v sistemu Linux.

Sintaksa:

ps -e | grep ime-procesa

Spodnji posnetek zaslona prikazuje, kako z ukazom ps preveriti, ali MySQL deluje v sistemu. Daje nam PID demona MySQL, ki je1162.

Slika, ki prikazuje, kako uporabljati Grep MySQL

Pogoste možnosti za dodajanje ukazu ps

• -a: ogled procesov vseh uporabnikov.
• -u: oglejte si podrobne informacije o vsakem postopku.
• -x: ogled vseh procesov, ki jih nadzirajo demoni.

ps -e

možnosti, ki jih želite dodati ukazu ps

Sintaksa:

vrh

Zgornji ukaz vam bo prikazal PID, uporabnika, ime vira in koliko sistemskih virov uporablja posamezen proces. Ti so koristni, če se odločite za ustavitev katerega koli postopka.

Rezultati ukaza na vrhu

Uporaba ukaza pgrep je zelo učinkovita tudi pri pridobivanju ustreznega ID-ja procesa.

Uporaba ukaza pgrep

Pogoste možnosti za dodajanje ukazu pgrep.

• -l: navedite imena procesov in PID-je.
• -n: vrne najnovejši postopek.
• -o: Vrne najstarejši postopek.
• -u: poiščite procese, ki pripadajo določenemu uporabniku.
• -x: poiščite postopek, ki se natančno ujema z danim vzorcem.

Ukaz pidof se uporablja za iskanje IP procesa, če poznate njegovo ime.

Sintaksa:

pidof  

Opcije:

• -c: Vrne PID v enem korenskem imeniku.
• -o: izpustil bo nekatere PID-je.
• -s: Vrnite en PID.
• -x: Vrne PID lupin, ki izvajajo skripte.

Proces v Linuxu lahko ubijete z različnimi metodami, odvisno od tega, ali poznate PID procesa, ime postopka ali čas, ko se postopek izvaja.

ukaz killall

Ukaz killall se uporablja za ubijanje procesov po imenu. Z enim ukazom lahko uniči več procesov in privzeto pošlje signal SIGTERM.

Sintaksa:

killall 

Možnosti, ki so na voljo z ukazom killall:

• -e: Vrnite natančno ujemanje z imenom procesa.
• -I: Ukaz bo pri iskanju imena procesa prezrl primer.
• -i: Za ubijanje postopka po imenu bo zahteval dodatne informacije.
• -u: uničil bo procese v lasti določenega uporabnika sistema.
• -v: Dala bo povratne informacije o tem, ali je bil postopek ubijanja uspešno izveden.

Ukaz killall lahko zaključi tudi procese v sistemu Linux na podlagi časa izvajanja procesov.

• -o: Ta možnost bo uničila vse procese za več kot določeno obdobje.
• -y: Ta možnost bo uničila vse procese, ki se bodo izvajali krajše od določenega časa.

Primer:

• killall -o 20m: ukaz bo ubil vse procese, starejše od 20 minut.
• Killall -y 20m: ukaz bo ubil vse procese, ki se izvajajo manj kot 15 minut.

ukaz kill

Ukaz kill bo ubil postopek, če poznate IP procesa.

Sintaksa:

ubiti 

Ukaz kill ubije en proces z danim ID-jem procesa. Ukaz bo poslal signal SIGTERM, da se ustavi in ​​počaka, da postopek poteka po svojih običajnih postopkih zaustavitve.

Kill -9 ukaz

Ukaz kill -9 se uporablja za zaključevanje neodzivnih procesov ali storitev.

Sintaksa:

ubiti -9 

ali

ubiti -ZNAK 

Ukaz kill -9 bo poslal signal SIGKILL za takojšen izklop postopka. Ukaz kill -9 bo obšel standardno rutino zaustavitve in vsi neshranjeni podatki bodo izgubljeni.

Neodzivni programi bodo ignorirali ukaz kill, vendar se bodo končali vsakič, ko bo izdan ukaz kill -9.

Druge pogosto uporabljene možnosti ubijanja vključujejo:

• -1 (HUP): To je možnost "odložite" in je na splošno zelo varna.
• -2 (SIGINT): To je enak signal kot Ctrl-C in velja za varno alternativo ubijanju programa.
• -15 (-TERM): to je privzeti zaključni signal in je na splošno zelo varen.

Z ukazom kill -l lahko dobite popoln seznam vseh razpoložljivih signalov.

Popoln seznam vseh razpoložljivih signalov z ukazom kill -l

ukaz pkill

Ukaz pkill bo ubil postopek, ko poznate njegovo ime. Privzeto bo pkill poslal signal SIGTERM, da zaključi postopek.

Sintaksa:

pkill  

možnosti pkill:

• -n: Ta ukaz bo ubil najnovejše procese.
• -o: Ta ukaz bo ubil najstarejše procese.
• -u: Ta ukaz bo ubil procese, ki temeljijo na izbranem uporabniku.
• -x: Ta ukaz bo ubil procese, ki se ujemajo z vzorcem.
• -signal: pošlje določen signal, ki ni privzeti signal SIGTERM.

xkill

Ukaz xkill bo zaprl povezavo strežnika s strankami.

xkill 

Ukaz xkill bo zaključil neželene strežniške procese.

top ukaz

Zgornji ukaz ponuja vmesnik, prek katerega lahko uporabnik določi postopek zaključevanja.

Sintaksa:

vrh

Če želite postopek ubiti s pomočjo PID, vstavite k iz vmesnika in nato vnesite določen ID procesa.

Povzetek

• Za ubijanje procesa prek ukazne vrstice morate imeti dovoljenja sudo.

• Kadarkoli ustvarite signal z ukazom kill, sistem Linux prekine običajni potek izvajanja ciljnega procesa.

• Če želite najti tekoči postopek, lahko uporabite ukaze ps, top, pgrep ali pidof.

• Postopek lahko ubijete z imenom ali ID-jem procesa z ukazi kilall, pkill, kill, xkill ali top.

• Postopek ubijanja bo poslal signal za zaključek SIGTERM, SIGHUP ALI SIGKILL.

• S sistemskim monitorjem lahko ubijete proces Linuxa. Najdete ga v sistemskih orodjih in ponuja več možnosti, kot so zgornji postopek, končni postopek ali postopek uničenja.

• Ukaz kill in njegove različice je dokaj enostaven za razumevanje in uporabo.

V tem priročniku smo izpostavili različne načine za ubijanje procesov v Linuxu. Glede na seznam možnosti signala, ki jih ponuja, je rahla krivulja učenja, kar je bistvenega pomena za pravilno upravljanje Linuxa. Če želite izvedeti več, predlagam, da si ogledate njihove ustrezne strani.

Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...