Android

Kuinka tappaa prosessi linuxissa

TEIN OMAN PELIN!!

TEIN OMAN PELIN!!

Sisällysluettelo:

Anonim

Oletko koskaan joutunut tilanteeseen, jossa käynnistit sovelluksen, ja yhtäkkiä käytät sitä, kun sovellus ei reagoi ja kaatuu yllättäen? Yrität käynnistää sovelluksen uudelleen, mutta mitään ei tapahdu, koska alkuperäinen hakemusprosessi ei koskaan sammu kokonaan.

No, niin meille kaikille on tapahtunut jossain vaiheessa, eikö niin? Ratkaisu on lopettaa tai tappaa hakemusprosessi. Mutta miten?

Onneksi Linuxissa on useita apuohjelmia, joiden avulla voit tappaa virheelliset prosessit., näytämme sinulle kuinka pkill , pkill ja pkill komentoja käytetään prosessin lopettamiseen Linuxissa.

Tärkein ero näiden työkalujen välillä on se, että pkill lopettaa prosessit PID-tunnuksen perusteella, kun taas pkill ja pkill komennot lopettaa käynnissä olevat prosessit nimiensä ja muiden määritteiden perusteella.

Tavalliset käyttäjät voivat tappaa omat prosessinsa, mutta eivät niihin, jotka kuuluvat muille käyttäjille, kun taas pääkäyttäjä voi tappaa kaikki prosessit.

Järjestelmätapatussignaalit

kill , pkill ja pkill lähettävät annetun signaalin määritettyihin prosesseihin tai prosessoryhmiin. Kun signaalia ei määritetä, kukin työkalu lähettää 15 ( TERM ).

Yleisimmin käytetyt signaalit ovat:

  • 1 (-HUP): prosessin uudelleenlataus. 9 (-KILL): tappaa prosessi. 15 (-TERM): prosessin sulkemiseksi sulavasti.

Signaalit voidaan määritellä kolmella eri tavalla:

  • käyttämällä numeroa (esim. -1) “SIG” -etuliitteellä (esim. -SIGHUP) ilman “SIG” -etuliitettä (esim. -HUP).

Käytä -l vaihtoehtoa -l kaikki käytettävissä olevat signaalit:

kill -l # or killall -l

Seuraavassa kuvatut vaiheet toimivat kaikissa Linux-jakeluissa.

Prosessien lopettaminen tappakomennon avulla

Jos haluat lopettaa prosessin kill komennolla, sinun on ensin löydettävä prosessin PID. Voit tehdä tämän käyttämällä erilaisia ​​komentoja, kuten top , ps , pidof ja pidof .

Oletetaan, että Firefox-selaimesta on tullut reagoimaton, ja sinun täytyy tappaa Firefox-prosessi. Löydä prosessitunnus pidof komennolla:

pidof firefox

Komento tulostaa kaikki Firefox-prosessit:

2551 2514 1963 1856 1771

Kun tiedät, että Firefox käsittelee PID: t lopettaaksesi ne kaikki, lähetä TERM signaali:

kill -9 2551 2514 1963 1856 1771

Prosessien lopettaminen killall komennolla

killall komento lopettaa kaikki ohjelmat, jotka vastaavat tiettyä nimeä.

Käyttämällä samaa skenaariota kuin aiemmin, voit tappaa Firefox-prosessin kirjoittamalla:

killall -9 firefox

killall hyväksyy useita vaihtoehtoja, kuten signaalien lähettäminen tietyn käyttäjän omistamille prosesseille, prosessien nimien sovittaminen säännöllisiin lausekkeisiin ja luomisaika. Voit saada luettelon kaikista vaihtoehdoista kirjoittamalla terminaaliin killall (ilman argumentteja).

Esimerkiksi, jos haluat lopettaa kaikki käyttäjän “sara” -käyttöprosessit, suorita seuraava komento:

sudo killall -u sara

Prosessien lopettaminen pkill komennolla

pkill lopettaa prosessit, jotka vastaavat komentorivillä annettua mallia:

pkill -9 firefox

Prosessin nimen ei tarvitse olla tarkka haku.

pkill voit myös lähettää signaalin prosessille, jotka tietyn käyttäjän omistavat. Voit tappaa vain käyttäjän “sara” omistamat Firefox-prosessit kirjoittamalla:

pkill -9 -u sara firefox

johtopäätös

pkill ohjelmien kill pkill ja pkill komennoilla on helppo tehtävä. Sinun on tiedettävä vain prosessin nimi tai PID.

tappaa terminaali