Pamatā ir 4 veidi de matar efektīvi a process en Linux: nogaliniet to pēc nosaukuma, norādot vārda daļu, izmantojot PID, ar peles kursoru norādot uz procesa logu. Apskatīsim pa vienam ... |
Nogalināt: nogalināt procesu, izmantojot tā PID
Sarežģītākais, bet tajā pašā laikā precīzāks veids, kā nogalināt procesu, ir tā PID ("Procesa identifikators"). Var izmantot jebkuru no šiem 3 variantiem:
kill -TERM pid kill -SIGTERM pid kill -15 pid
Varat izmantot signāla nosaukumu (TERM vai SIGTERM), kuru vēlaties nosūtīt procesam, vai tā identifikācijas numuru (15). Lai redzētu pilnu iespējamo signālu sarakstu, iesaku pārbaudīt slepkavības rokasgrāmatu. Lai to izdarītu, palaidiet:
cilvēks nogalina
Apskatīsim piemēru, kā nogalināt Firefox:
Pirmkārt, jums jānoskaidro programmas PID:
ps -ef | grep Firefox
Šī komanda atgriezīs kaut ko līdzīgu šim:
1986. gads? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
Lai iznīcinātu procesu, mēs izmantojam PID, ko atgrieza iepriekš minētā komanda:
nogalināt -9 1986
killall: nogaliniet procesu, izmantojot tā nosaukumu
Šī komanda ir ļoti vienkārša
killall procesa_nosaukums
Lietojot šo metodi, jāpatur prātā, ka, ja darbojas vairāk nekā viena šīs programmas instance, tās visas tiks aizvērtas.
pkill: nogalināt procesu, izmantojot daļu no tā nosaukuma
Procesu ir iespējams nogalināt, norādot pilnu vārdu vai tā daļu. Tas nozīmē, ka jums nav jāatceras procesa PID signāla nosūtīšanai.
pkill daļas_procesa_nosaukums
Pretī šī metode iznīcinās visus procesus, kas satur ievadīto vārdu. Tas nozīmē, ka, ja mums ir atvērti 2 procesi, kas nosaukumā kopīgo vārdu, abi tiks aizvērti.
xkill: nogaliniet procesu, atlasot logu ar peli
Šī ir vienkāršākā un praktiskākā metode. Katastrofas gadījumā vienkārši nospiediet Alt + F2, lai atvērtu dialoglodziņu, kas ļaus izpildīt komandas. No turienes izpildiet šādu komandu:
xkill
Peles kursors pārveidosies par mazu galvaskausu. Atliek tikai noklikšķināt uz loga, kuru vēlaties aizvērt, un voila. Atvadīšanās process.
Daži pēdējie komentāri
Noslēgumā vēlējos padalīties ar dažiem padomiem, kas varētu būt noderīgi. Linux, tāpat kā Windows, kad process uzkaras, attiecīgo logu parasti var aizvērt, noklikšķinot uz pogas Aizvērt (kura forma ir X). Pēc dažām sekundēm parādīsies logs ar jautājumu, vai mēs patiešām vēlamies nogalināt procesu, jo tas nereaģē pareizi. Mēs sakām jā un viss.
Tas nozīmē, ka šeit aprakstītās metodes ir jāizmanto, ja nekas nenotiek, noklikšķinot uz attiecīgā loga pogas Aizvērt.
Lielas katastrofas gadījumā neaizmirstiet, ka pirms nospiešanas ir iespējams veikt a "droša" restartēšana.
Visbeidzot, var būt ļoti noderīgi uzzināt, kuri procesi pašlaik darbojas. Lai to izdarītu, dažādās darbvirsmas vidēs (GNOME, KDE utt.) Ir grafiski rīki, kas atvieglo šo uzdevumu. Tomēr, ja nevarat tiem piekļūt vai vienkārši vēlaties to izdarīt no termināļa, varat veikt šādas darbības:
tops
Ja tas nedarbojas vai jums nav instalēta atbilstošā pakotne, jūs vienmēr varat palaist:
ps -A
Tiks uzskaitīti visi darbojošie procesi kopā ar to attiecīgajiem nosaukumiem un PID.
«Ps -ef | "grep firefox" nav tas pats, kas "pgrep firefox"?
Nu personīgi es izmantoju "pidof", lai iegūtu PID.
Sveicieni!
visvairāk izmantoju:
~ $ top
parādot mums aktīvo procesu sarakstu, tad, ja mēs nospiedīsim "k" vai uzrakstīsim "kill", tas prasīs, lai procesa pid nogalinātu (mēs to lasām no augšas) un pēc tam ievadiet, lai izietu no augšas, mēs nospiežam "q".
Ļoti labs ieraksts, bet šī forma man šķiet vienkāršāka. Ja terminālis nedarbojas, mēs mēģinām ctrl + alt + f [1-6] un darām to no turienes.
Kādi ģēniji, puiši, paldies par palīdzību man, deva man lielisku roku ar šo ziņu !!!
Sveiki! Vai var gadīties, ka komanda xkill tikai pazaudē X programmu un joprojām ir atvērta? Jo man vienmēr gadās, ka, dodoties pie uzdevumu pārvaldnieka, process joprojām ir dzīvs un man tas ir jānogalina.
Es atzīstu, ka esmu ļoti iesācējs. Un killall un pkill komandas man ļoti palīdzēs. Paldies, ka tos augšupielādējāt, ļoti labs emuārs.
Apsveikumi!
Es iesaku htop 😀 tas ir labākais tam ...
strādā ar ncurses
sudo apt-get instalēt htop
pidof nav paredzēts visiem Unix, piemēram, Solaris nav šīs komandas, un tas liek mums izmantot spēcīgo ps.
Sveicieni
htop ir daudzdomīgāks un lietotājam draudzīgāks
PID izmantošanas gadījumā pareizā lieta ir $ kill PID, kas pēc noklusējuma sūta SIGTERM signālu, ja process nereaģē, tiek izmantots $ kill -9 PID, kas sūta SIGKILL signālu, pēdējais novērš procesu, neļaujot tam pareizi aizveriet to pašu (piemēram, var tikt zaudēti dati). SIGTERM jautā, lūdzu, SIGKILL dod viņam cirvi 🙂
Liels paldies, es to pārbaudīšu, ja tas notiks ar mani vēlreiz.
vaicājumu. Kad darbvirsmas vide karājas Ubuntu (es izmantoju Unity), vai to var restartēt, nenogalinot visus citus procesus? Es neesmu ļoti progresējis Linux un man dažreiz gadās, ka es strādāju un tas uzkaras, vienīgais, ko es daru, ir droša restartēšana, bet es pazaudēju visu, pie kā strādāju.
Es nezinu, vai manas šaubas tiek saprastas.
Sveicieni
Procesu zombiju stāvoklī nevar nogalināt tradicionālā veidā.
Šeit, lai iegūtu sīkāku informāciju: esdebian.org/wiki/matar-proceso-zombie
Progresīvākiem, kā jūs nogalināt procesu ZOMBIE stāvoklī?
tikai, lai ģenerētu nelielu tērzēšanu 😀
Ļoti labi, tieši tas, kas man vajadzīgs ..
Patiesība ir tāda, ka komanda kill ir ļoti noderīga. Spēja nogalināt kaitinošus procesus, vienkārši piesaucot nogalināšanu, ir lieliski. Visbeidzot komanda, kas kaut ko apkalpo.
Teorētiskais jautājums: procesa nogalināšana nozīmē, ka tas vairs nedarbojas. Tātad, mans jautājums ir otrādi, ja es vēlos atsākt procesu, kuru es nogalināju, kā es to varu izdarīt?
Nu jūs ieliekat ./(procesa nosaukums) &
Ar šo jūs to palaižat vēlreiz, un arī jūsu PID parādīsies 😀
Lieliski, man bija laiks meklēt šādu palīdzību. Tas man bija ļoti noderīgi. Liels paldies par dalīšanos.
Sveiciens no San Luis Potosí, Meksikā.
Kā es varu nogalināt divus procesus, zinot to PID vienā komandā?
Es domāju, ka tas bija "nogalināt [pirmo PID] [otro PID]
Ļoti interesants raksts. Šī vietne ir mana galvenā Linux vietne.
Es parasti izmantoju:
ps cirvis | grep process_name (tas, lai to atrastu sistēmā)
nogalināt -9 process_id
Es dalos bezmaksas tiešsaistes bash kursos, kas iet apkārt:
https://aprendemia.com/cursos/curso-de-bash-scripting Cerams, ka tas būs noderīgi.
un ja es gribētu, lai tas būtu profils Linux tikai tāds, kas aizveras, kā vajadzētu?
piemērs Man ir atvērti 2 Firefox profili
bet es vēlos, lai tiktu aizvērts tikai viens profils
1. profils
2. profils
Es gribu, lai tiktu aizvērts tikai 2. profils, kā komandai vajadzētu būt
jau iepriekš paldies par atbildi
Kā es varu nogalināt Ubuntu priekšplāna procesus ar vienu komandrindu