Darbība ar nereaģējošām programmām var būt grūts darbs, it īpaši, ja izmantojat vecāku aparatūru. Tādā gadījumā sistēmas iesaldēšana kļūst par izplatītu problēmu. Par laimi, Linux ir daudz veidu, kā nogalināt nereaģējošus procesus.
Komandas kill un pkill nodrošina vienkāršus, bet efektīvus risinājumus, kā pārtraukt nereaģējošus zombiju procesus no termināla. Turpmākajās sadaļās ir aprakstīts, kā nogalināt pakārtotos procesus Linux, izmantojot kill un pkill.
Pārtrauciet nereaģējošus procesus, izmantojot kill
Komanda kill Linux ļauj viegli iziet no nereaģējošiem procesiem. Tas nosūta procesam beigu signālu. Pēc noklusējuma slepkavība nosūta SIGTERM signāls, ko attēlo signāla numurs 15. Šajā piemērā tiek izmantots kill, lai apturētu procesu, kura PID ir 27065.
nogalināt 27065
Lietotāji var sūtīt citus signālus, norādot signāla nosaukumu vai numuru. Piemēram, zemāk esošās nogalināšanas komandas aptur zombiju procesu, izmantojot SIGKILL sistēmas signāls, ko attēlo signāla numurs 9.
nogalināt -9 27065
nogalināt -SIGKILL 27065
Atšķirība starp SIGTERM un SIGKILL ir tā, ka procesi var uztvert un ignorēt SIGTERM signālu. Bet SIGKILL ir neaizsargāts pret procesu apstrādi un nekavējoties nogalina programmas.
Izmantojot zemāk esošās komandas kill, varat apskatīt visu pieejamo signālu sarakstu.
nogalināt -l
nogalināt -L
Kopumā SIGKILL būs piemērotāks, kad nodarbojas ar nereaģējošiem sistēmas procesiem. No otras puses, SIGTERM ir pareizais ceļš, ja vēlaties graciozi pārtraukt pakārtotās programmas.
Nogalināt nereaģējošus procesus, izmantojot pkill
Komanda pkill atvieglo procesu pārtraukšanu Linux, ļaujot mums nogalināt programmas, pamatojoties uz to nosaukumu. Piemēram, zemāk esošā komanda nogalina nano programma, izmantojot pkill.
pkill nano
Tāpat kā kill, pkill pēc noklusējuma sūta arī SIGTERM signālu. Izmantojiet signālu SIGKILL, ja vēlaties nekavējoties pārtraukt nereaģējošo procesu.
pkill -9 nano
Kā iegūt procesa procesa ID (PID)
PID informācijas iegūšana var būt milzīga palīdzība, pārtraucot nereaģējošos procesus Linux. Procesa PID numuru var iegūt vairākos veidos. Šī komanda iegūst PID procesam ar nosaukumu nano, izmantojot grep komandu un ps.
ps aux | grep nano
Varat arī izmantot komandu pgrep, kas tieši izspiež procesa ID.
pgrep nano
Nereaģējoša procesa pārvaldība operētājsistēmā Linux
Kill un pkill komandas padara darbu ar nereaģējošiem Linux procesiem bez piepūles. Viss, kas jums nepieciešams apturēt zombiju procesu ir tā PID un piekļuve čaulai. Tomēr, nogalinot procesus, kas pieder citam lietotājam, jums var būt nepieciešamas papildu sudo atļaujas. Tātad, ja izmantojat vairāku lietotāju sistēmu, pirms jebkādu darbību veikšanas lūdziet administratoru pievienot jūs sudoers sarakstam.
Vai vēlaties piešķirt administratora privilēģijas Linux lietotājam? Lūk, kā jūs varat pievienot lietotāju sudoers sarakstam.
Lasiet Tālāk
- Linux
- Linux komandas
- Sistēmas administrēšana
Rubaiat ir CS grāds ar lielu aizraušanos ar atvērtā koda. Papildus tam, ka viņš ir Unix veterāns, viņš nodarbojas arī ar tīkla drošību, kriptogrāfiju un funkcionālu programmēšanu. Viņš ir dedzīgs lietotu grāmatu kolekcionārs un nebeidzami apbrīno klasisko roku.
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!
Vēl viens solis !!!
Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.