V bistvu obstajajo 4 načine de ubiti učinkovito a procesu en Linux: ubijte ga po imenu, tako da določite del imena, po PID, s kazalcem miške pokažete na okno procesa. Pa poglejmo enega za drugim ... |
Kill: ubije postopek z uporabo njegovega PID-a
Najbolj zapleten, a hkrati najbolj natančen način za uničenje procesa je njegov PID ("identifikator procesa"). Katera koli od teh treh različic lahko služi:
kill -TERM pid kill -SIGTERM pid kill -15 pid
Uporabite lahko ime signala (TERM ali SIGTERM), ki ga želite poslati v postopek, ali njegovo identifikacijsko številko (15). Če si želite ogledati celoten seznam možnih signalov, predlagam, da preverite priročnik za ubijanje. Če želite to narediti, zaženite:
človek ubiti
Poglejmo primer, kako ubiti Firefox:
Najprej morate ugotoviti PID programa:
ps -ef | grep firefox
Ta ukaz bo vrnil nekaj takega:
1986? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
Za ubijanje postopka uporabimo PID, ki ga vrne zgornji ukaz:
ubiti -9 1986
killall: ubiti postopek z uporabo njegovega imena
Ta ukaz je zelo enostaven
killall ime_procesa
Pri uporabi te metode ne pozabite, da bodo vsi programi zaprti, če se izvaja več kot en primerek tega programa.
pkill: ubiti postopek z uporabo dela imena
Postopek je mogoče ubiti z določitvijo polnega imena ali dela imena. To pomeni, da si ni treba zapomniti PID postopka za pošiljanje signala.
pkill ime_procesa
V zameno bo ta metoda uničila vse procese, ki vsebujejo vneseno besedo. To pomeni, da če bomo odprli dva procesa, ki si v imenu delita besedo, bosta oba zaprta.
xkill: postopek ubijete tako, da z miško izberete okno
To je najpreprostejša in najbolj praktična metoda. V primeru katastrofe preprosto pritisnite Alt + F2, da se prikaže pogovorno okno, v katerem boste lahko izvajali ukaze. Od tam zaženite naslednji ukaz:
xkill
Kazalec miške se bo spremenil v majhno lobanjo. Preostane le, da kliknemo okno, ki ga želimo zapreti, in odpremo. Adijo postopek.
Nekaj zadnjih komentarjev
Na koncu sem želel deliti nekaj nasvetov, ki so lahko koristni. V Linuxu, tako kot v operacijskem sistemu Windows, lahko postopek prekine, tako da lahko zadevno okno na splošno zapremo s klikom na gumb Zapri (ki je v obliki X). Po nekaj sekundah se prikaže okno, ki nas vpraša, ali res želimo ubiti postopek, saj se ne odziva pravilno. Pravimo, da in to je to.
To pomeni, da je treba tukaj opisane metode uporabiti, kadar se nič ne zgodi, ko kliknete gumb Zapri zadevnega okna.
V primeru večje nesreče ne pozabite, da je pred pritiskom mogoče izvesti a "varen" ponovni zagon.
Končno je lahko zelo koristno ugotoviti, kateri procesi se trenutno izvajajo. Za to imajo različna namizna okolja (GNOME, KDE itd.) Grafična orodja, ki olajšajo to nalogo. Če pa do njih ne morete dostopati ali preprosto želite to storiti s terminala, lahko izvedete naslednje:
vrh
Če to ne deluje ali če niste namestili ustreznega paketa, lahko vedno zaženete:
ps -A
Tu bodo navedeni vsi tekoči procesi, skupaj z njihovimi imeni in PID-i.
«Ps -ef | grep firefox "ni isto kot" pgrep firefox "?
No, osebno uporabljam "pidof", da dobim PID.
Lep pozdrav!
največ uporabljam:
~ $ vrh
pokaže nam seznam aktivnih procesov, nato pa, če damo "k" ali napišemo "kill", nas bo vprašal za pid procesa, ki ga ubijemo (preberemo ga od zgoraj) in nato vstopimo, za izhod na vrh pritisnemo "q ".
Zelo dober vstop, vendar se mi ta oblika zdi preprostejša. Če se terminal ne zažene, poskusimo ctrl + alt + f [1-6] in to storimo od tam naprej.
Kakšni geniji, hvala, da ste mi pomagali, s to objavo ste mi dali odlično roko!
Zdravo! Ali se lahko zgodi, da ukaz xkill izbriše program X in je še vedno odprt? Ker se mi vedno zgodi, da ko grem k upravitelju opravil, je postopek še vedno živ in ga moram ubiti.
Priznam, sem zelo novinec. In ukazi killall in pkill mi bodo v veliko pomoč. Hvala, ker ste jih naložili, zelo dober blog.
Pozdravljeni!
Priporočam, da je htop 😀 najboljši za to ...
dela z ncurses
sudo apt-get namestite htop
pidof ni za vse Unixe, na primer Solaris nima tega ukaza, kar nas vodi k uporabi zmogljivega ps.
pozdrav
htop je bolj podroben in uporabniku prijazen
V primeru uporabe PID je pravilna stvar $ kill PID, ki privzeto pošlje signal SIGTERM, v primeru, da se postopek ne odzove, se uporabi $ kill -9 PID, ki pošlje signal SIGKILL, slednji postopek odpravi, ne da bi mu dovolil pravilno zapiranje (na primer lahko pride do izgube podatkov). SIGTERM vpraša prosim, SIGKILL mu da sekiro 🙂
Najlepša hvala, preizkusil ga bom, če se mi bo še kdaj zgodilo.
poizvedba. Ko se namizno okolje obesi v Ubuntuju (uporabljam Unity), ali ga je mogoče znova zagnati, ne da bi ubili vse druge procese? Nisem zelo napreden v Linuxu in včasih se mi zgodi, da delam in visi, edino, kar počnem, je varen ponovni zagon, vendar izgubim vse, na čemer sem delal.
Ne vem, če je moj dvom razumljen.
pozdrav
Procesa v zombi državi ni mogoče ubiti na tradicionalen način.
Tukaj za več podrobnosti: esdebian.org/wiki/matar-proceso-zombie
Za naprednejše, kako ubiti postopek v stanju ZOMBIE?
samo za klepet 😀
Zelo dobro, samo tisto, kar sem potreboval ..
Resnica je, da je ukaz kill zelo koristen. Super je zmožnost ubijanja nadležnih procesov samo s klicanjem ubijanja. Končno ukaz, ki nekaj služi.
Teoretično vprašanje: Ubijanje procesa pomeni, da preneha delovati. Torej, moje vprašanje je obratno, če hočem spet začeti postopek, ki sem ga ubil, kako naj to storim?
no si dal ./(ime postopka) &
S tem ga znova zaženete in izšel bo tudi vaš PID 😀
Odlično, imel sem čas iskati takšno pomoč. Bilo mi je zelo koristno. Najlepša hvala za delitev.
Lep pozdrav iz San Luisa Potosija v Mehiki.
Kako lahko v istem ukazu ubijem dva procesa, ki poznata njihov PID?
Mislim, da je bilo 'ubiti [prvi PID] [drugi PID]
Zelo zanimiv članek. To spletno mesto je moje glavno spletno mesto linux.
Na splošno uporabljam:
ps sekira | grep ime_procesa (to, da ga poiščete v sistemu)
kill -9 process_id
Delim brezplačen spletni tečaj za bash, ki se razteza:
https://aprendemia.com/cursos/curso-de-bash-scripting Upam, da bo koristno.
in če bi hotel, da gre za profil v Linuxu samo tisti, ki se zapre, kot bi moral biti?
primer imam odprta 2 profila firefox
ampak želim samo en profil, da se zapre
profil 1
profil 2
Želim, da se zapre samo profil 2, kot bi moral biti ukaz
vnaprej hvala za odgovor
Kako lahko z eno ukazno vrstico ubijem procese ubuntu v ospredju