Kā nogalināt procesu operētājsistēmā Linux

Mums visiem ir bijušas dienas, kad mūsu dators darbojas ārkārtīgi lēni un stostījās, veicot pat pamata uzdevumus. Operētājsistēmā Windows jums ir tikai Windows uzdevumu pārvaldnieks, lai pārbaudītu un iznīcinātu procesus, kas nav tik svarīgi, bet patērē milzīgu daudzumu atmiņas. Tomēr operētājsistēmā Linux jums ir viss komandu un GUI rīku arsenāls, lai pārvaldītu šos uzdevumus. Šajā rakstā mēs parādīsim dažas vienkāršas komandrindas (CLI) metodes, kā arī GUI metodes, kā nogalināt procesu Linux.

Procesa pārtraukšana operētājsistēmā Linux (2023)

Bet pirms mēs ienirt procesu pārvaldības pasaulē Linux, ļaujiet mums saprast, kas īsti ir process un kas ir procesa ID Linux sistēmās.

Kas ir procesi operētājsistēmā Linux

Operētājsistēmā Linux katrs pašlaik palaistās programmas gadījums ir pazīstams kā “process”, savukārt katrs izpildāmais fails ir pazīstams kā programma. Kad jebkura programma tiek izpildīta, tiek izveidots process un katram procesam tiek piešķirts unikāls 5 ciparu identifikācijas numurs, kas pazīstams kā “procesa ID”. Kad process ir beidzis izpildi vai tiek piespiedu kārtā pārtraukts, tā procesa ID tiek piešķirts nākamajam procesam.

Iznīcināšanas procesu, izmantojot komandrindu operētājsistēmā Linux

Lai gan termināļa izmantošana dažkārt var šķist biedējoša salīdzinājumā ar GUI rīku izmantošanu pamata uzdevumiem, dažādu procesu pārvaldība kļūst daudz vienkāršāka, tiklīdz jūs saprotat komandas un to dažādās iespējas.

Pārtraukšanas signāli

Mēģinot iznīcināt procesu no GUI vai CLI operētājsistēmā Linux, kodols nosūta procesa pārtraukšanas signālu. Process attiecīgi darbojas atkarībā no saņemtā signāla. Katram no šiem signāliem tiek piešķirts konkrēts numurs, lai programma ātri saprastu. Ir daudz veidu izbeigšanas signālu, taču mēs šeit esam izskaidrojuši tikai būtiskos signālus:

SignalNumeric ValueDescriptionSIGHUP1Tas apzīmē “Signal Hangup”
Tas tiek nosūtīts, kad terminālis ir aizvērts.SIGINT2Tas nozīmē “Signāla pārtraukums”
Tas tiek nosūtīts, kad lietotājs pārtrauc procesu.SIGKILL9Tas apzīmē ‘Signal Kill’
Tas tiek nosūtīts, kad jums nekavējoties jāiziet no procesa.SIGTERM15Tas nozīmē “Signāla pārtraukšana”
Tas tiek nosūtīts, kad nepieciešams pārtraukt procesu un atbrīvot patērētos resursus SIGSTOP19 — ARM, x86
17 – ALFA
23 – MIPS
24 — PA-RISCIt nozīmē „Signāla apstāšanās”
Tas tiek nosūtīts, kad nepieciešams apturēt procesu un to vēlāk atsākt. Visbiežāk izmantotie signāli ir SIGKILL (9) un SIGTERM (15).

  Kā instalēt jaunas Linux kodola versijas vietnē OpenSUSE Leap

Identificējiet procesa ID

Pirms procesa pārtraukšanas jums ir jāzina daži procesa dati, piemēram, procesa ID, darbības laiks utt. Lai uzzinātu detalizētu informāciju par procesu, izmantojiet komandu ps:

ps

Izmantojot komandu ps, jums ir jāmeklē process, ritinot un atzīmējot tā nosaukumu, kas varētu būt apgrūtinoši. Tā vietā jūs pat varat izmantot komandu grep ar komandu ps konveijerā, kā parādīts tālāk:

ps | grep

Lai padarītu lietas vienkāršākas, ir atsevišķa komanda, kas parāda tikai jebkura palaišanas procesa ID, kas jums jāzina. Sintakse komandas pidof izmantošanai ir:

pidof

Pārtrauciet procesu, izmantojot komandu kill

Kad esat atzīmējis procesa ID, kuru vēlaties pārtraukt, visbiežāk lietotā komanda, lai pārtrauktu programmas jūsu Linux sistēmā, ir komanda kill. Sintakse, lai izmantotu komandu kill ir:

nogalināt

Parametrs nav obligāts, un kill komanda pēc noklusējuma nosūta SIGTERM (15) signālu. Jūs varat nosūtīt jebkuru citu signālu pēc tā skaitliskās vērtības vai faktiskā signāla nosaukuma no iepriekš redzamās tabulas.

Pārtrauciet procesu, izmantojot komandu pkill

Ja jums šķiet, ka procesa ID meklēšana ir neērta, varat izmantot komandu pkill. Tas meklē procesus, kas atbilst modelim, un pēc tam to nogalina. Sintakse komandas pkill izmantošanai ir:

pkill

Dažas no izplatītākajām opcijām savienošanai pārī ar komandu pkill ir:

OptionDescription-nIzvēlas tikai jaunākos procesus, kas atbilst procesam id-uIzvēlas konkrētam lietotājam piederošos procesus-xIzvēlas procesus, kas precīzi atbilst modelim

Tas ir īpaši svarīgi, ja vairāki lietotāji vienā sistēmā strādā ar dažādiem vienas programmas gadījumiem un vienā no gadījumiem sāk parādīties neparedzēta darbība. Piemēram, zemāk esošajā ekrānuzņēmumā mēs nogalinām “gedit” gadījumu, kas pieder lietotājam “intel”, izmantojot komandu pkill operētājsistēmā Linux:

pkill -u intel gedit

Pārtrauciet procesu, izmantojot komandu killall

Komanda killall darbojas līdzīgi kā kill komanda, taču tā nogalina visus procesus, kas atbilst procesa nosaukumam, neatkarīgi no lietotāja. Pēc noklusējuma tas nosūta SIGTERM signālu, ja nav norādīts citādi. Interesanta lieta ir atzīmēt, ka killall komanda nekad nevar nogalināt sevi, bet var pārtraukt citus killall komandas gadījumus. Sintakse komandas killall izmantošanai ir:

killall

Dažas no opcijām savienošanai ar komandu killall ir:

OptionDescription-rInterpretē procesa_nosaukums kā regulāras izteiksmes paraugs un pēc tam nogalina procesus, kas atbilst modelim – tiek iznīcināts norādītais process, kas pieder noteiktam īpašniekam.-oNogalina norādītos procesus, kas ir vecāki (sākti pirms) par noteiktu laiku.-yNogalina norādītos procesus, kas jaunāki ( sākās pēc) konkrētā laika.

Komanda killall var būt noderīga, lai pārtrauktu viena un tā paša procesa sēriju vai pat visus procesus, kas pieder konkrētam īpašniekam. Šeit mūsu piemērā mēs nogalinām visus procesus, kas saistīti ar „gulēšanu 500 sekundes”, izmantojot Linux komandu killall:

  4 labākie Arch Linux atvasinājumi, ko izmēģināt

killall -v miegs

Pārtrauciet Linux procesu, izmantojot komandu top/htop

Šī procesu nogalināšanas metode ir noderīga, ja jums nav ne jausmas, kuri procesi patērē maksimāli daudz resursu. Abās komandās varat pārvietoties pa visiem notiekošajiem procesiem vai pat zombiju procesiem un tos ātri izbeigt. Lai izmantotu augšējo komandu resursu pārraudzībai, terminālī izmantojiet sintaksi:

tops

Izejas izpratne:

Galvenās komandas galvenā izvade ir sadalīta kolonnās, kas ir:

  • PID – parāda darbojošā procesa procesa ID
  • Lietotājs – parāda procesa īpašnieku
  • PR – parāda procesa prioritātes vērtību, ko piešķir operētājsistēma
  • NI — parāda jaukas vērtības, kas līdzinās lietotāja atstarpes vērtību piešķiršanai, lai manuāli kontrolētu uzdevuma prioritāti.
  • VIRT – parāda procesā izmantotās virtuālās atmiņas apjomu.
  • RES – parāda procesa izmantotās fiziskās atmiņas apjomu
  • SHR – parāda citiem procesiem koplietotās atmiņas apjomu
  • S – parāda pašreizējo procesa stāvokli, kas var būt:
    • D – nepārtraukts miegs
    • R – skriešana
    • S – guļ
    • T – apstājās
    • Z – zombijs
  • %CPU — parāda procesā izmantotā CPU daudzumu procentos
  • %MEM — parāda procesā izmantotās RAM daudzumu procentos
  • LAIKS+ – parāda kopējo procesa darbības laiku
  • Komanda — parāda, kura komanda tika izsaukta procesam.
  • Ja nezināt tā uzdevuma procesa ID, kuru vēlaties iznīcināt, pārlūkojiet sarakstu, izmantojot bulttaustiņus, vai meklējiet procesa nosaukumu procesa tabulā operētājsistēmā Linux.

    Lai meklētu procesa nosaukumu, nospiediet tastatūras taustiņu „L” un ierakstiet procesa nosaukumu, kuru vēlaties meklēt. Kad esat atradis negodīgo procesu, nospiediet tastatūras taustiņu „k”, lai apturētu procesu. Tagad ievadiet procesa ID vai atstājiet to pašlaik iezīmētajā procesā un nospiediet taustiņu ENTER. Pēc tam ievadiet beigu signālu un pēc tam nospiediet taustiņu ENTER, lai apturētu programmu. Lai atgrieztos terminālī, nospiediet tastatūras taustiņu “q”.

    Lai gan augšējā komanda parāda detalizētu informāciju, piemēram, procesa ID, atmiņas patēriņu un daudz ko citu par visiem notiekošajiem procesiem, tā nav piemērota iesācējiem, jo ​​tajā nav parādīti taustiņu kartējumi vai lietošanas veids. No otras puses, komandai htop ir lietotājam draudzīgāks interfeiss pat komandrindas rīkam. Turklāt tas parāda visas detaļas atsevišķā skatā, tāpēc tas nepārblīvē termināļa logu. Lielākajā daļā distribūciju tā nav iepriekš instalēta, un, lai instalētu htop operētājsistēmā Linux, ir jāizmanto šāda komanda:

    sudo apt install -y htop

    Lai izmantotu htop procesu pārvaldībai operētājsistēmā Linux, izmantojiet tālāk norādīto komandu:

      Kā instalēt Cisco Packet Tracer operētājsistēmā Linux

    htop

    Lai iznīcinātu programmu, dodieties uz procesa nosaukumu, kuru vēlaties pārtraukt, nospiediet taustiņu F9 un pēc tam nospiediet taustiņu Enter. Ja jums ir jāmeklē un jānogalina kāda programma, nospiediet tastatūras taustiņu F3, ierakstiet nosaukumu un nospiediet taustiņu Enter. Procesa nosaukums tiks iezīmēts, nospiediet taustiņu F9 un pēc tam nospiediet taustiņu Enter uz tastatūras, lai pārtrauktu procesu.

    Nogaliniet procesu, izmantojot sistēmas monitoru operētājsistēmā Linux

    Ja jūtat, ka komandrindas metode jums ir sarežģīta, varat izmantot iebūvēto sistēmas pārraudzības rīku, kas ir pieejams katrā Linux izplatīšanā. Lai uzzinātu, kā tas darbojas, izvēlnē Programmas atveriet sistēmas pārraudzības rīku un veiciet tālāk norādītās darbības.

    1. Kad tiek atvērts sistēmas pārraudzības rīks, augšpusē redzēsit trīs cilnes — Procesi, Resursi un Failu sistēma. Lai pārvaldītu savus procesus, dodieties uz cilni “Procesi”. Šeit jūs redzēsiet visus pašlaik darbojošos procesus. Nospiediet ‘CTRL+F’, lai meklētu procesa nosaukumu. Noklikšķiniet uz procesa nosaukuma, kuru vēlaties pārtraukt, un noklikšķiniet uz „Beigt procesu”.

    2. Pēc tam jūs saņemsit apstiprinājuma uzvedni, vai vēlaties beigt procesu vai nē. Iet uz priekšu un noklikšķiniet uz lielās sarkanās pogas “Beigt procesu”, lai nogalinātu procesu operētājsistēmā Linux.

    bieži uzdotie jautājumi

    Kā apturēt visus procesus operētājsistēmā Linux?

    Ja jums ir jāaptur visi procesi (izņemot pieteikšanās čaulu, init un kodolam raksturīgos procesus) konkrētam lietotājam operētājsistēmā Linux, izmantojiet komandu pkill vai komandu killall saskaņā ar sintakse:

    pkill -u

    killall -u

    Ja jums ir jāizslēdz katrs process katram lietotājam, ieskaitot init sistēmu, nospiediet tastatūras taustiņus „ALT + Prt Sc + o”.

    Vai ir pareizi beigt procesu?

    Aizverot jebkuru nebūtisku fona procesu vai lietotāja procesu, kas patērē daudz sistēmas atmiņas, tiek atbrīvoti resursi, kurus tagad var izmantot citi procesi. Taču pirms jebkura procesa izslēgšanas pārliecinieties, vai nenogalināt būtisku operētājsistēmas procesu.

    Kādi ir fona procesi operētājsistēmā Linux?

    Operētājsistēmā Linux fona procesi ir procesi, kas var darboties bez čaulas instances vai jebkādas lietotāja iejaukšanās. Tos var apskatīt, izmantojot jebkuru no komandām – top, htop, ps utt.

    Kas ir zombiju process?

    Process, kuru lietotājs ir nogalinājis, bet joprojām aizņem atmiņu, ir pazīstams kā zombiju process.

    Ko CTRL + Z dara operētājsistēmā Linux?

    Ja izmantojat CTRL + Z operētājsistēmā Linux, tas nosūta SIGTSTP signālu, kas aptur procesu un nosūta to fonā. Ja process fonā atrodas apturētā stāvoklī, procesu nevar iznīcināt, kamēr tas nav atkal parādīts priekšplānā.

    Viegli nogaliniet procesus operētājsistēmā Linux

    Atmiņas iznīcināšanas procesu nogalināšana ir diezgan svarīgs uzdevums, kas jāapgūst katram lietotājam. Šajā rakstā mēs esam parādījuši gan komandrindas metodi, tostarp tādas komandas kā killall un pkill, gan GUI metodes procesu iznīcināšanai operētājsistēmā Linux. Mēs pat esam sīki izklāstījuši, kā izmantot tādus populārus rīkus kā top un htop, lai pārvaldītu procesus jūsu Linux datorā. Ja, izmantojot šos rīkus procesa apturēšanai, rodas problēmas, informējiet mūs tālāk sniegtajos komentāros.