Linux operētājsistēma nodrošina vairākus Linux operētājsistēmas procesa pārtraukšanas veidus. Acīmredzams programmas apturēšanas veids ir noklikšķinot uz pogas X augšējā kreisajā vai labajā stūrī. Bet ir neskaitāmi citi veidi, kā nogalināt procesu; mēs esam šeit, lai apspriestu citus efektīvus veidus.
Veidi, kā nogalināt procesu Linux
Kontroles secība
Otrs acīmredzams veids, kā nogalināt tikko sāktu procesu, ir komandrindā ierakstīt Ctrl-C. Ctrl-C vadības secība parasti ir droša lietošanā, pat ja ir iespējami daži datu zudumi.
Ctrl-Z secība aptur darbību. Tas nosūta SIGTSP signālu procesam, kura noklusējuma darbība ir procesa apturēšana.
nogalināt komandas
Linux operētājsistēmai ir pievienota komanda kill, kuru varat izmantot, lai pārtrauktu procesu, kad tie vairs nereaģē vai patērē pārāk daudz resursu. Process Linux ir programmas eksemplārs.
Sākot programmu, šim procesam automātiski tiek ģenerēts unikāls PID. Inicializācijas process ir pirmais process, kas sākas, kad Linux sistēma tiek sāknēta un tai piešķirta vērtība “1”.
Init ir galvenais process, un to nevar nogalināt, izmantojot komandu kill. Komanda kill procesa sākumā ir tikai pieprasījums, lai sistēma tiktu izslēgta.
Šī rokasgrāmata ļaus jums veikt darbības un vairākus veidus, kā pārtraukt darbības procesu, izmantojot Linux termināli.
Saknes lietotājam ir visas atļaujas, kas nepieciešamas visu procesu nogalināšanai. Jūs varat iegūt saknes apvalku ar komandu su vai pievienot sudo pirms komandas un palaist to.
Noklusējuma signāls, ko nosūta kill komanda
Procesa nogalināšana uz norādīto procesu nosūtīs izbeigšanas ziņojumu. Divi galvenie izbeigšanas ziņojumu veidi ietver:
• SIGTERM - komanda kill pēc noklusējuma nosūtīs SIGTERM signālu. Tam vajadzētu ļaut procesu izbeigt, izmantojot parastās izslēgšanas procedūras. Tas ir maigāks veids, kā mēģināt izbeigt procesu, un tas var tikt bloķēts.
• SIGKILL - tas vienmēr pēkšņi nogalinās procesu. Ja SIGKILL nedarbojas, operētājsistēma ir izgāzusies. Tā ir ātrākā un efektīvākā metode, kā nogalināt procesu.
Uzskaitiet darbojošos procesus
Augšējā komanda, ps komanda un komanda pidof ir vienkāršākie veidi, kā apskatīt darbojošos procesus Linux sistēmā.
Sintakse:
ps -e | grep procesa nosaukums
Zemāk redzamajā ekrānuzņēmumā parādīts, kā izmantot komandu ps, lai pārbaudītu, vai MySQL darbojas sistēmā. Tas dod mums MySQL dēmona PID, kas ir 1162.
Parastās iespējas, ko pievienot komandai ps
• -a: skatiet visu lietotāju procesus.
• -u: skatiet detalizētu informāciju par katru procesu.
• -x: apskatīt visus procesus, kurus kontrolē dēmoni.
ps -e
Sintakse:
tops
Augšējā komanda parādīs PID, User, resursa nosaukumu un cik sistēmas resursu katrs process izmanto. Tie ir noderīgi, ja nolemjat pārtraukt kādu no procesiem.
Komandas pgrep izmantošana ir arī ļoti efektīva, lai iegūtu atbilstošo procesa ID.
Parastās opcijas, kas jāpievieno komandai pgrep.
• -l: norādiet procesu nosaukumus un PID.
• -n: atgrieziet jaunāko procesu.
• -o: atgriež vecāko procesu.
• -u: atrodiet procesus, kas pieder konkrētam lietotājam.
• -x: atrodiet procesu, kas precīzi atbilst dotajam modelim.
Komanda pidof tiek izmantota procesa IP atrašanai, ja zināt procesa nosaukumu.
Sintakse:
pidof
Iespējas:
• -c: atgriež PID vienā saknes direktorijā.
• -o: tas izlaidīs noteiktus PID.
• -s: atgriež vienu PID.
• -x: atgriež to čaulu PID, kurās darbojas skripti.
Procesu operētājsistēmā Linux var nogalināt, izmantojot dažādas metodes atkarībā no tā, vai jūs zināt procesa PID, procesa nosaukumu vai laiku, kad process darbojas.
killall komanda
Killall komandu izmanto, lai nogalinātu procesus pēc nosaukuma. Tas var nogalināt vairākus procesus ar vienu komandu un pēc noklusējuma nosūta SIGTERM signālu.
Sintakse:
Nogalini visus
Iespējas, kas pieejamas ar komandu killall:
• -e: atgriež precīzu atbilstību procesa nosaukumam.
• -I: Komanda ignorēs gadījumu, atrodot procesa nosaukumu.
• -i: Tas pieprasīs papildu informāciju, nogalinot procesu pēc nosaukuma.
• -u: tas nogalinās procesus, kas pieder noteiktam sistēmas lietotājam.
• -v: tas sniegs atsauksmes par to, vai slepkavības process ir veiksmīgi izpildīts.
Komanda killall var arī pārtraukt procesus Linux sistēmā, pamatojoties uz procesu izpildes laiku.
• -o: Šī opcija iznīcinās visus procesus ilgāk par norādīto laiku.
• -y: šī opcija iznīcinās visus procesus, kas darbojas mazāk nekā noteikts laiks.
Piemērs:
• killall -o 20m: komanda iznīcinās visus procesus, kas ir vecāki par 20 minūtēm.
• Killall -y 20m: komanda iznīcinās visus procesus, kas darbojas mazāk nekā 15 minūtes.
nogalināt komandu
Komanda kill nogalinās procesu, ja jūs zināt procesa IP.
Sintakse:
nogalināt
Komanda kill nogalina vienu procesu ar norādīto procesa ID. Komanda nosūtīs SIGTERM signālu, lai apstātos un gaidītu, kamēr process tiks pakļauts parastajām izslēgšanas procedūrām.
Nogalināt -9 komandu
Komanda kill -9 tiek izmantota, lai pārtrauktu nereaģējošus procesus vai pakalpojumus.
Sintakse:
nogalināt -9
vai
nogalināt -SIGKILL
Komanda kill -9 nosūtīs SIGKILL signālu, lai nekavējoties apturētu procesu. Komanda kill -9 apiet standarta izslēgšanas rutīnu, un visi nesaglabātie dati tiks zaudēti.
Neatbildošās programmas ignorēs komandu kill, bet pārtrauks katru reizi, kad tiks izdota komanda kill -9.
Citas parasti izmantotās nogalināšanas iespējas ietver:
• -1 (HUP): Šī ir opcija “apturēt klausuli” un parasti ir ļoti droša.
• -2 (SIGINT): Šis ir tas pats signāls kā Ctrl-C un tiek uzskatīts par drošu alternatīvu programmas nogalināšanai.
• -15 (-TERM): tas ir noklusējuma pārtraukuma signāls un parasti ir ļoti drošs.
Izmantojot komandu kill -l, varat iegūt pilnu visu pieejamo signālu sarakstu.
pkill komanda
Komanda pkill nogalinās procesu, kad jūs zināt procesa nosaukumu. Pēc noklusējuma pkill nosūtīs SIGTERM signālu, lai pārtrauktu procesu.
Sintakse:
pkill
pkill iespējas:
• -n: Šī komanda iznīcinās jaunākos procesus.
• -o: Šī komanda iznīcinās vecākos procesus.
• -u: Šī komanda iznīcinās procesus, pamatojoties uz atlasīto lietotāju.
• -x: šī komanda iznīcinās procesus, kas atbilst paraugam.
• -signāls: nosūta noteiktu signālu, kas nav noklusējuma signāls SIGTERM.
xkill
Komanda xkill aizvērs servera savienojumu ar klientiem.
xkill
Komanda xkill pārtrauks nevēlamus servera procesus.
augšējā komanda
Augšējā komanda nodrošina saskarni, caur kuru lietotājs var norādīt izbeigšanas procesu.
Sintakse:
tops
Lai nogalinātu procesu ar PID, ievietojiet k no saskarnes un pēc tam ievadiet norādīto procesa ID.
Atkārtoti
• Lai nogalinātu procesu, izmantojot komandrindu, jums ir jābūt sudo atļaujām.
Ikreiz, kad ģenerējat signālu, izmantojot komandu kill, Linux sistēma pārtrauc mērķa procesa parasto izpildes plūsmu.
• Lai atrastu darbojošos procesu, varat izmantot komandas ps, top, pgrep vai pidof.
• Jūs varat nogalināt procesu pēc nosaukuma vai procesa ID, izmantojot komandas Kilall, Pkill, Kill, Xkill vai Top.
• Nogalināšanas process nosūtīs SIGTERM, SIGHUP vai OR SIGKILL izbeigšanas signālu.
• Lai iznīcinātu Linux procesu, varat izmantot sistēmas monitoru. To var atrast sistēmas rīkos, un tas nodrošina vairākas iespējas, piemēram, augšējo procesu, beigu procesu vai procesa nogalināšanu.
• Kill komanda un tās varianti ir diezgan vienkārši saprotami un lietojami.
Šajā ceļvedī mēs uzsvērām dažādus veidus, kā nogalināt procesus Linux. Attiecībā uz tā piedāvāto signālu opciju sarakstu ir neliela mācīšanās līkne, kas ir būtiska pareizai Linux administrēšanai. Ja vēlaties uzzināt vairāk, iesaku apskatīt viņu attiecīgās cilvēka lapas.