Iš esmės yra 4 būdai de Matar efektyviai a procesas en Linux: nužudyk jį vardu, nurodydamas vardo dalį, naudodamas PID, pelės žymekliu nukreipdamas į proceso langą. Pažiūrėkime po vieną ... |
Nužudyk: nužudyk procesą naudodamas jo PID
Sudėtingiausias, bet tuo pačiu tiksliausias proceso nužudymo būdas yra jo PID („Proceso identifikatorius“). Bet kuris iš šių 3 variantų gali būti naudojamas:
kill -TERM pid kill -SIGTERM pid kill -15 pid
Galite naudoti signalo pavadinimą (TERM arba SIGTERM), kurį norite siųsti procesui, arba jo identifikavimo numerį (15). Norėdami pamatyti išsamų galimų signalų sąrašą, siūlau patikrinti „kill“ vadovą. Norėdami tai padaryti, paleiskite:
žmogus žudo
Pažiūrėkime, kaip nužudyti „Firefox“:
Pirmiausia turite sužinoti programos PID:
ps -ef | grep Firefox
Ši komanda grąžins maždaug taip:
1986 m.? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
Procesui užmušti naudojame PID, kurį grąžino aukščiau nurodyta komanda:
nužudyti -9 1986
killall: nužudyk procesą naudodamas jo pavadinimą
Ši komanda yra labai lengva
killall proceso_vardas
Naudojant šį metodą reikia nepamiršti, kad jei veikia daugiau nei vienas tos programos egzempliorius, jie visi bus uždaryti.
pkill: nužudyk procesą naudodamas dalį jo pavadinimo
Procesą galima nužudyti nurodant visą vardą ar jo dalį. Tai reiškia, kad nereikia atsiminti PID proceso signalo siuntimui.
pkill part_process_name
Savo ruožtu šis metodas sunaikins visus procesus, kuriuose yra įvestas žodis. Tai reiškia, kad jei atidarysime 2 procesus, kurie dalijasi žodžiu pavadinime, abu bus uždaryti.
xkill: nužudyk procesą pasirinkdami langą pele
Tai paprasčiausias ir praktiškiausias metodas. Nelaimės atveju tiesiog paspauskite „Alt“ + F2, kad atsirastų dialogo langas, leidžiantis vykdyti komandas. Iš ten vykdykite šią komandą:
xkill
Pelės žymeklis transformuosis į mažą kaukolę. Belieka spustelėti langą, kurį norite uždaryti, ir voila. Iki pasimatymo.
Keletas paskutinių komentarų
Baigdamas norėjau pasidalinti keletu patarimų, kurie gali būti naudingi. „Linux“, kaip ir „Windows“, kai procesas užstringa, atitinkamą langą paprastai galima uždaryti spustelėjus mygtuką Uždaryti (kuris yra X formos). Po kelių sekundžių pasirodys langas, kuriame bus klausiama, ar mes tikrai norime nužudyti procesą, nes jis nereaguoja tinkamai. Mes sakome taip ir viskas.
Tai reiškia, kad čia aprašyti metodai turėtų būti naudojami, kai nieko neįvyksta spustelėjus atitinkamo lango mygtuką Uždaryti.
Didelės nelaimės atveju nepamirškite, kad prieš spaudžiant galima atlikti a „saugus“ paleidimas iš naujo.
Galiausiai gali būti labai naudinga sužinoti, kurie procesai šiuo metu vykdomi. Tam skirtingos darbalaukio aplinkos (GNOME, KDE ir kt.) Turi grafinius įrankius, kurie palengvina šią užduotį. Tačiau tuo atveju, jei negalite jų pasiekti arba tiesiog norite tai padaryti iš terminalo, galite atlikti šiuos veiksmus:
viršų
Jei tai neveikia arba neturite įdiegto atitinkamo paketo, visada galite paleisti:
ps-A
Čia bus išvardyti visi vykdomi procesai, jų atitinkami pavadinimai ir PID.
«Ps -ef | „grep firefox“ nėra tas pats, kas „pgrep firefox“?
Asmeniškai aš naudoju „pidof“, kad gautų PID.
Sveiki atvykę!
labiausiai naudoju:
~ $ viršuje
rodydamas mums aktyvių procesų sąrašą, tada, jei paspausime "k" arba parašysime "kill", jis paprašys proceso užmušti (mes skaitome jį iš viršaus) ir tada įveskite, norėdami išeiti iš viršaus, paspauskite "q" ".
Labai geras įrašas, bet ši forma man atrodo paprastesnė. Jei terminalas neveikia, bandome paspausti „Ctrl“ + „Alt“ + f [1–6] ir tai padaryti iš ten.
Kokie genijai vaikinai dėkoja, kad padėjo man, padėjo man labai padėti su šiuo pranešimu !!!
Sveiki! Ar gali būti, kad komanda xkill tik išnyksta X programa ir lieka atvira? Nes man visada nutinka taip, kad eidamas pas užduočių tvarkytuvę procesas vis dar gyvas ir turiu jį nužudyti.
Aš tai pripažįstu, esu labai naujokas. Ir „killall“ bei „pkill“ komandos man labai padės. Ačiū, kad juos įkėlėte, labai geras tinklaraštis.
Sveikinimai!
Aš rekomenduoju „htop“, tai tam geriausia ...
dirba su ncurses
sudo apt-get įdiegti htop
„pidof“ nėra skirtas visoms „Unix“ sistemoms, pavyzdžiui, „Solaris“ neturi šios komandos ir tai verčia mus naudoti galingą ps.
saludos
„htop“ yra daugiažodis ir patogus naudoti
Jei naudojamas PID, teisingas dalykas yra $ kill PID, kuris pagal numatytuosius nustatymus siunčia SIGTERM signalą, tuo atveju, jei procesas nereaguoja, naudojamas $ kill -9 PID, siunčiantis SIGKILL signalą, kuris pašalina procesą neleisdami teisingai uždaryti to paties (pvz., gali būti prarasti duomenys). SIGTERM prašo prašau, SIGKILL duoda jam kirvį 🙂
Labai ačiū, išbandysiu, jei man taip pasikartos.
užklausą. Kai darbalaukio aplinka pakimba Ubuntu (aš naudoju „Unity“), ar ją galima paleisti iš naujo neužmušus visų kitų procesų? Aš nesu labai pažengęs „Linux“ sistemoje ir man kartais nutinka, kad dirbu ir jis pakimba, vienintelis dalykas, kurį darau, yra saugus paleidimas iš naujo, bet aš prarandu viską, ką dirbau.
Nežinau, ar mano abejonė suprantama.
saludos
Procesas zombių būsenoje negali būti nužudytas tradiciniu būdu.
Čia rasite daugiau informacijos: esdebian.org/wiki/matar-proceso-zombie
Labiau pažengusiems, kaip jūs nužudote procesą ZOMBIE valstijoje?
tik tam, kad sukurtum nedidelį pokalbį 😀
Labai gerai, tik tai, ko man reikėjo ..
Tiesa ta, kad komanda „kill“ yra labai naudinga. Puikiai įmanoma nužudyti erzinančius procesus vien tik pasitelkus nužudymą. Pagaliau komanda, kuri kažkam tarnauja.
Teorinis klausimas: Proceso nužudymas reiškia, kad jis nustoja veikti. Taigi mano klausimas yra atvirkščiai, jei noriu iš naujo paleisti tą procesą, kurį nužudžiau, kaip tai padaryti?
Na jūs įdėjote ./(proceso pavadinimas) &
Tai atlikę vėl paleisite ir jūsų PID taip pat pasirodys 😀
Puiku, turėjau laiko ieškoti tokios pagalbos. Tai man buvo labai naudinga. Labai ačiū, kad dalinatės.
Sveikinimai iš San Luis Potosí, Meksika.
Kaip galiu nužudyti du procesus, žinodamas jų PID ta pačia komanda?
Manau, tai buvo „nužudyti [pirmąjį PID] [antrąjį PID]
Labai įdomus straipsnis. Ši svetainė yra pagrindinė mano „Linux“ svetainė.
Aš paprastai naudoju:
ps kirvis | grep proceso_pavadinimas (tai rasti sistemoje)
nužudyti -9 proceso_id
Dalinuosi nemokamu internetiniu bash kursu:
https://aprendemia.com/cursos/curso-de-bash-scripting Tikimės, kad tai bus naudinga.
Ir jei norėčiau, kad tai būtų „Linux“ profilis, kuris uždaromas taip, kaip turėtų būti?
pavyzdys turiu atidarytus 2 „Firefox“ profilius
bet noriu uždaryti tik vieną profilį
profilis 1
profilis 2
Noriu, kad tik 2 profilis būtų uždarytas, kaip turėtų būti komanda
iš anksto dėkoju už atsakymą
Kaip galiu nužudyti „Ubuntu“ pirmojo plano procesus su viena komandine eilute