Procesu vadība

Procesu pārvaldība Ubuntu Linux

Procesu pārvaldība Ubuntu Linux
Procesu pārvaldība Linux ir svarīga tēma, kas jāapgūst un jāsaprot, jo tā ir daudzuzdevumu operētājsistēma un tajā pašā laikā notiek daudz procesu. Linux nodrošina daudz rīku procesu pārvaldībai, piemēram, notiekošo procesu uzskaitīšana, procesu nogalināšana, sistēmas lietošanas uzraudzība utt. Linux katru procesu attēlo tā procesa ID (PID). Ja lietotājs vai grupa vada procesu, procesam ir daži citi atribūti, piemēram, lietotāja ID un grupas ID. Dažreiz jums ir nepieciešams nogalināt procesu vai mijiedarboties ar to, tāpēc jums jāzina, kā pārvaldīt šos procesus, lai sistēma darbotos nevainojami. Linux procesus var vadīt ar komandām, piemēram, ps, pstree, pgrep, pkill, lsof, top, nice, renice and kill, utt.

Procesi

Programmas instances palaišanu sauc par procesu. Operētājsistēmā Linux procesa ID (PID) tiek izmantots, lai attēlotu procesu, kas ir atšķirīgs katram procesam. Ir divu veidu procesi,

Fona procesi

Fona procesi sākas terminālā un tos vada paši. Ja palaižat procesu terminālā, tā izeja tiks parādīta termināla logā, un jūs varat ar to mijiedarboties, bet, ja jums nav nepieciešams mijiedarboties ar procesu, varat to palaist fonā. Ja vēlaties palaist procesu fonā, komandas beigās vienkārši pievienojiet zīmi “&”, un tas sāks darboties fonā; tas ietaupīs jūsu laiku, un jūs varēsiet sākt citu procesu. Lai uzskaitītu procesus, kas darbojas fonā, izmantojiet komandu 'jobs.'Tas parādīs visus darbojošos procesus fonā.

Piemēram, jaunināšana Linux ir ilgs process. Tas aizņem pārāk daudz laika, un, ja sistēmas jaunināšanas laikā vēlaties veikt citas darbības, izmantojiet fona komandu.

[aizsargāts pa e-pastu]: ~ $ sudo apt-get upgrade -y &

Tas sāks darboties fonā. Tikmēr jūs varat mijiedarboties ar citām programmām. Ierakstot šo komandu, varat pārbaudīt, cik un kādi procesi darbojas fonā.

[e-pasts aizsargāts]: ~ $ darbavietas
[1] + darbojas sudo apt-get jauninājums -y &

Priekšplāna procesi

Visi procesi, kurus mēs darbinām terminālā, pēc noklusējuma tiek palaisti kā priekšplāna procesi. Mēs tos varam pārvaldīt, izmantojot priekšplāna un fona komandas.

Jebkuru darbos uzskaitīto fona procesu var izvirzīt priekšplānā, ierakstot komandu “fg”, kam seko fona procesa numurs.

[e-pasts aizsargāts]: ~ $ fg% 1
sudo apt-get jauninājums -y

Un, ja vēlaties šo procesu novirzīt uz fona, ierakstiet šo komandu.

[e-pasts aizsargāts]: ~ $ bg% 1

Procesu uzskaitīšana un pārvaldīšana ar komandu ps

Saraksta process ar komandu ps ir viens no vecākajiem veidiem, kā apskatīt termināla darbības procesus. Ierakstiet komandu ps, lai norādītu, kuri procesi darbojas un cik daudz sistēmas resursu viņi izmanto un kas tos vada.

[e-pasts aizsargāts]: ~ $ ps u
LIETOTĀJA PID% CPU% MEM VSZ RSS TTY STAT STAT. START TIME COMMAND
Džims 1562 0.0 0.0 164356 6476 tty2 Ssl + 13:07 0:00 apvalks
Džims 1564 5.2 0.9 881840 78704 tty2 Sl + 3:07 13:13 dauth
Džims 2919 0.0 0.0 11328 4660 punkti / 0 Ss 13:08 0:00 bash
Džims 15604 0.0 0.0 11836 3412 punkti / 0 R + 17:19 0:00 ps u
... izgriezums ..

Kolonnā Lietotājs iepriekš redzamajā tabulā tiek parādīts lietotāja vārds, bet PID - procesa ID. Varat izmantot PID, lai nogalinātu vai nosūtītu slepkavības signālu procesam. % CPU parāda procesora procentuālo procesoru, un% MEM parāda brīvpiekļuves atmiņas lietojumu. Lai nogalinātu procesu, ierakstiet.

[aizsargāts pa e-pastu]: ~ $ kill [procesa ID (PID)]

vai

[aizsargāts ar e-pastu]: ~ $ kill -9 [procesa ID (PID)]

Izmantojiet komandu ps aux, lai redzētu visus notiekošos procesus, un pievienojiet cauruli, lai to redzētu secībā.

[e-pasts aizsargāts]: ~ $ ps aux | mazāk

Ja vēlaties pārkārtot kolonnas, varat to izdarīt, pievienojot karodziņu -e visu procesu uzskaitīšanai un -o kolonnu norādīšanai pēc atslēgvārdiem komandā ps.

[aizsargāts ar e-pastu]: ~ $ ps -eo pid, user, uid,% cpu,% mem, vsz, rss, comm
PID LIETOTĀJA UID% CPU% MEM VSZ RSS KOMANDA
1 sakne 0 0.1 0.1 167848 11684 sistematizēts
3032 jim 1000 16.5 4.7 21744776 386524 hroms
... izgriezums ..

Iespējas ps komandai.

Lietotāju u procesu uzskaitīšanai izmanto opciju u.

[e-pasts aizsargāts]: ~ $ ps u

opciju f izmanto, lai parādītu pilnu sarakstu.

[e-pasts aizsargāts]: ~ $ ps f

Opcija x tiek izmantota, lai parādītu informāciju par procesu bez termināla.

[e-pasts aizsargāts]: ~ $ ps x

Opcija tiek izmantota, lai parādītu paplašinātu informāciju.

[e-pasts aizsargāts]: ~ $ ps e

opcija tiek izmantota visu procesu uzskaitīšanai terminālā.

[aizsargāts ar e-pastu]: ~ $ ps a

opcija v tiek izmantota, lai parādītu virtuālās atmiņas formātu.

[e-pasts aizsargāts]: ~ $ ps v

Karogi ps komandai.

-Karodziņš tiek izmantots, lai redzētu katru sistēmas procesu.

[e-pasts aizsargāts]: ~ $ ps -e

-u karodziņš tiek izmantots, lai redzētu procesus, kas darbojas kā saknes.

[e-pasts aizsargāts]: ~ $ ps -u

-f karogu izmanto, lai pilnībā uzskaitītu procesus.

[e-pasts aizsargāts]: ~ $ ps -f

-o karodziņu izmanto procesu uzskaitīšanai vēlamajā kolonnā.

[e-pasts aizsargāts]: ~ $ ps -o
pstree

pstree ir vēl viena komanda procesu uzskaitīšanai; tas parāda izvadi koka formātā.

[e-pasts aizsargāts]: ~ $ pstree

Pstree komandas opcijas

-n tiek izmantots procesu kārtošanai pēc PID.

[e-pasts aizsargāts]: ~ $ pstree -n

-H tiek izmantots procesu izcelšanai.

[aizsargāts ar e-pastu]: ~ $ pstree -H [PID]
[e-pasts aizsargāts]: ~ $ pstree -H 6457

-a tiek izmantots izejas parādīšanai, ieskaitot komandrindas argumentus.

[e-pasts aizsargāts]: ~ $ pstree -a

-g tiek izmantots, lai parādītu procesus pēc grupas ID.

[e-pasts aizsargāts]: ~ $ pstree -g

-s tiek izmantots koka vai konkrēta procesa sēšanai.

[aizsargāts ar e-pastu]: ~ $ pstree -s [PID]
[aizsargāts ar e-pastu]: ~ $ pstree -s 6457

[lietotāja vārds] tiek izmantots, lai parādītu procesus, kas pieder lietotājam.

[e-pasts aizsargāts]: ~ $ pstree [userName]
[e-pasts aizsargāts]: ~ $ pstree jim
pgrep

Izmantojot komandu pgrep, jūs varat atrast darbības procesu, pamatojoties uz noteiktiem kritērijiem. Jūs varat izmantot procesa pilnu nosaukumu vai saīsinājumu, lai atrastu vai pēc lietotājvārda vai citiem atribūtiem. pgrep komanda seko šādam paraugam.

[aizsargāts ar e-pastu]: ~ $ Pgrep [opcija] [modelis]
[aizsargāts ar e-pastu]: ~ $ pgrep -u jim chrome
Pgrep komandas opcijas

-i tiek izmantots, lai meklētu reģistrjutīgu

[aizsargāts ar e-pastu]: ~ $ Pgrep -i Firefox

-d tiek izmantots izejas norobežošanai

[aizsargāts ar e-pastu]: ~ $ Pgrep -u jim -d:

-u tiek izmantots, lai atrastu lietotājam piederošu procesu

[e-pasts aizsargāts]: ~ $ Pgrep -u jim

-a tiek izmantots procesu uzskaitīšanai blakus viņu komandām

[e-pasts aizsargāts]: ~ $ Pgrep -u jim -a

-c tiek izmantots, lai parādītu saskaņošanas procesu skaitu

[e-pasts aizsargāts]: ~ $ Pgrep -c -u jim

-l tiek izmantots procesu uzskaitīšanai un to nosaukumam

[e-pasts aizsargāts]: ~ $ Pgrep -u jim -l
pkill

Izmantojot komandu pkill, jūs varat nosūtīt signālu darbības procesam, pamatojoties uz noteiktiem kritērijiem. Jūs varat izmantot procesa pilnu nosaukumu vai saīsinājumu, lai atrastu vai pēc lietotājvārda vai citiem atribūtiem. pgrep komanda seko šādam paraugam.

[aizsargāts ar e-pastu]: ~ $ Pkill [Opcijas] [Raksti]
[aizsargāts ar e-pastu]: ~ $ Pkill -9 hroms
Pkill komandas opcijas

-signāls tiek izmantots signāla nosūtīšanai e.g. SIGKILL, SIGTERM utt.

[aizsargāts ar e-pastu]: ~ $ Pkill - signāla SIGTERM vscode

-HUP tiek izmantots procesa pārlādēšanai

[aizsargāts ar e-pastu]: ~ $ Pkill -HUP syslogd

-f tiek izmantots procesu nogalināšanai, pamatojoties uz pilnu komandrindu.

[aizsargāts ar e-pastu]: ~ $ Pkill -f “ping 7.7.7.7 ”

-u tiek izmantots visu lietotāju īpašumā esošo procesu nonāvēšanai.

[e-pasts aizsargāts]: ~ $ Pkill -u jim

-i tiek izmantots procesa nejutīgai nogalināšanai ar pkill palīdzību.

[aizsargāts ar e-pastu]: ~ $ Pkill -i Firefox

-9 tiek izmantots, lai nosūtītu slepkavības signālu.

[aizsargāts ar e-pastu]: ~ $ Pkill -9 hroms

-15 tiek izmantots, lai nosūtītu izbeigšanas signālu.

[e-pasts aizsargāts]: ~ $ Pkill -15 vlc
lsof (atvērto failu saraksts)

Šī komandrindas lietderība tiek izmantota failu uzskaitīšanai, kurus ir atvēruši vairāki procesi. Un, kā mēs zinām, visas UNIX / Linux sistēmas visu atzīst par failu, tāpēc ir ērti izmantot komandu lsof, lai uzskaitītu visus atvērtos failus.

[e-pasts aizsargāts]: ~ $ lsof

Iepriekš minētajā komandas lsof tabulā FD apzīmē faila aprakstu, cwd apzīmē pašreizējo darba direktoriju, txt nozīmē teksta failu, mem nozīmē kartētos failus ar atmiņu, mmap nozīmē kartes, kas saistītas ar atmiņu, REG apzīmē parasto failu, DIR apzīmē direktoriju, rtd nozīmē saknes direktoriju. Ir arī citas opcijas, kuras varat izmantot ar komandu lsof.

Iespējas komandai lsof.

-c tiek izmantots atvērto failu sarakstam pēc to procesa nosaukuma.

[aizsargāts ar e-pastu]: ~ $ lsof -c hroms

-u tiek izmantots, lai lietotājs uzskaitītu atvērtos failus.

[e-pasts aizsargāts]: ~ $ lsof -u jim

-i tiek izmantots ostā izpildāmo procesu sarakstam.

[e-pasts aizsargāts]: ~ $ lsof -i

+D tiek izmantots atvērto failu sarakstam direktorijā.

[aizsargāts ar e-pastu]: ~ $ lsof + D / home /

-lpp tiek izmantots atvērto failu uzskaitīšanai procesā.

[e-pasts aizsargāts]: ~ $ lsof -p 1342

Procesu uzskaitīšana un pārvaldīšana ar augšējo komandu

Izmantojot komandu top, varat parādīt reāllaika skatu par notiekošajiem sistēmas procesiem. Tas parāda procesus atkarībā no procesora izmantošanas. Kolonnu var kārtot pēc sevis. Augšējā komanda sniedz arī kādu informāciju par jūsu sistēmu, piemēram, cik ilgi sistēma darbojas, vai cik lietotāju ir pievienoti sistēmai un cik procesi darbojas, cik daudz CPU un RAM tiek izmantots, kā arī katra saraksta process.

Ierakstiet komandas augšdaļu, lai norādītu notiekošo procesu sarakstu.

[e-pasts aizsargāts]: ~ $ top
Uzdevumi: kopā 291, 1 skriešana, 290 gulēšana, 0 apstāšanās, 0 zombiju
% Procesors (-i): 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hi, 0.0si, 0.0
MiB Mem: 7880.6 kopā, 1259.9 bezmaksas, 3176 izmantoti, 3444.4 bufete / kešatmiņa
MiB Swap: 2048.0 kopā, 2048. gads.0 bezmaksas, 0.0 izmantoti. 4091.8 izmantot Mem
PID LIETOTĀJA PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 hroms
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 hroms
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 hroms
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 hroms
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 hroms
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 hroms
1603 jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756. jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 rūķis+
1898 jim 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 fusuma
3027 jim 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 hroms
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 hroms
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 hroms
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 hroms
… .izgriezt… .

Varat arī veikt dažas darbības ar augšējo komandu, lai veiktu izmaiņas darbojošos procesos; šeit ir saraksts zemāk.

Ņemiet vērā, kurš process patērē vairāk atmiņas vai procesora. Tos procesus, kas patērē vairāk atmiņas, var nogalināt, un tos procesus, kas patērē vairāk procesora, var mainīt, piešķirot tiem mazāk nozīmes procesoram.

Nogaliniet procesu augšpusē: Nospiediet k un uzrakstiet procesa ID, kuru vēlaties nogalināt. Pēc tam ierakstiet 15. vai 9. veidu, lai nogalinātu normāli vai nekavējoties; jūs varat arī nogalināt procesu ar komandu kill vai killall.

Atjaunojiet procesu augšpusē: Nospiediet r un uzrakstiet tā procesa PID, kuru vēlaties mainīt. Tas lūgs ievadīt procesa PID un pēc tam vērtību, kuru vēlaties piešķirt šim procesam no -19 līdz 20 (-19 nozīmē visaugstāko un 20 nozīmē mazāko).

Procesu uzskaitīšana un pārvaldīšana, izmantojot sistēmas monitoru

Linux ir sistēmas monitora gnome, lai dinamiskāk parādītu darbojošos procesus. Lai palaistu sistēmas monitoru, nospiediet Windows taustiņu un ierakstiet sistēmas monitoru, noklikšķiniet uz tā ikonas, un jūs varat redzēt procesus kolonnās. Ar peles labo pogu noklikšķinot uz tiem, jūs varat nogalināt, apturēt vai atjaunot procesu.

Darbojošie procesi tiek parādīti ar lietotāju kontiem alfabētiskā secībā. Jūs varat kārtot procesus pēc jebkura lauka virsraksta, piemēram, CPU, Memory utt., vienkārši noklikšķiniet uz tiem, un tie tiks sakārtoti; piemēram, noklikšķiniet uz CPU, lai redzētu, kurš process patērē visvairāk procesora enerģijas. Lai pārvaldītu procesus, ar peles labo pogu noklikšķiniet uz tiem un atlasiet opciju, kuru vēlaties veikt ar procesu. Lai pārvaldītu procesu, atlasiet šādas opcijas.

Procesa nogalināšana ar kill and killall

kill, un killall komandu izmanto, lai nogalinātu / pārtrauktu darbības procesu. Šīs komandas var izmantot arī derīga signāla sūtīšanai uz notiekošo procesu, piemēram, norādot procesu turpināt, beigt vai pārlasīt konfigurācijas failus utt. Signālus var rakstīt abos veidos pēc cipariem vai nosaukuma. Tālāk ir minēti daži parasti izmantotie signāli.

Signāla numura apraksts

1. SIGHUP Konstatē iziešanas signālu vadības terminālī.
SIGINT 2 Tulkots no tastatūras.
SIGQUIT 3 Iziet no tastatūras.
SIGILL 4 Nelikumīgi norādījumi.
SIGTRAP 5 tiek izmantots lamatas izsekošanai.
SIGABRT 6 tiek izmantots signāla pārtraukšanai no pārtraukšanas (3).
SIGKILL 9 Tiek izmantots slepkavības signāla nosūtīšanai.
SIGTERM 15 Izmanto izbeigšanas signāla nosūtīšanai.
SIGCONT 19,18,25 Tiek izmantots, lai apturētu procesu.
SIGSTOP 17,19,23 Tiek izmantots procesu apturēšanai.

Dažādās Unix / Linux operētājsistēmās tiek izmantotas dažādas SIGCONT un SIGSTOP vērtības. Lai iegūtu detalizētu informāciju par signāla tipa man 7 signālu terminālu.

Komandas kill izmantošana, lai nosūtītu signālu apstrādei ar PID.

Ievērojiet procesu, uz kuru vēlaties nosūtīt slepkavības signālu. Procesa ID (PID) var atrast ar ps vai top komandu.

PID LIETOTĀJA PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 top

Augšējais process patērē 33.3% no centrālā procesora. Ja vēlaties nogalināt šo procesu, lai ietaupītu CPU izmantošanu, šeit ir daži veidi, kā pabeigt šo procesu ar komandu kill.

[e-pasts aizsargāts]: ~ $ kill 7780
[aizsargāts pa e-pastu]: ~ $ kill -15 7780 vai $ kill -SIGTERM 7780
[aizsargāts pa e-pastu]: ~ $ kill -9 7780 vai $ kill -SIGKILL 7780

Izmantojot killall komandu, lai nosūtītu signālus procesam pēc nosaukuma.

Izmantojot komandu killall, jums nav jāmeklē procesa ID; jūs varat nosūtīt slepkavības signālu procesam pēc nosaukuma, nevis uz procesa ID. Tas var arī nogalināt vairāk procesu, nekā vēlaties, ja neesat piesardzīgs, piemēram.g., “Killall chrome” iznīcinās visus hroma procesus, arī tos, kurus nevēlaties nogalināt. Dažreiz ir lietderīgi nogalināt tā paša nosaukuma procesus.

Tāpat kā komandu kill, komandā killall jūs varat ierakstīt signālus pēc nosaukuma vai numura. Nogalināt jebkuru darbības procesu ar komandu killall; jums tikai jāieraksta tā nosaukums un signāls, kuru vēlaties nosūtīt. e.g., nosūtiet kill sign process Firefox, izmantojot komandu killall, uzrakstiet zemāk esošo komandu.

[e-pasts aizsargāts]: ~ $ killall -9 firefox

vai

[e-pasts aizsargāts]: ~ $ killall SIGKILL chrome

Procesa prioritātes mainīšana ar jauku un nepārdomātu

Katram jūsu Linux sistēmas procesam ir lieliska vērtība, un tas ir no -19 līdz 20. Tā nolēma, kurš process sistēmā iegūs lielāku piekļuvi procesoram. Jo zemāka ir jauka vērtība, jo lielāka piekļuve procesam ir procesora procesam. Patīk -16 jaukām vērtībām ir lielāka piekļuve procesoram nekā 18 jaukām vērtībām. Tikai lietotājs ar root tiesībām var piešķirt negatīvu nice vērtību. Parasts lietotājs vērtību “nice” var piešķirt tikai no 0 līdz 19. Parasts lietotājs var piešķirt tikai augstākas jaukas vērtības un pats saviem procesiem. Saknes lietotājs var iestatīt jebkuram procesam jebkuru jauku vērtību.

Ja vēlaties piešķirt procesam pieejamāku procesora lietojumu, piešķirot jauko vērtību, ierakstiet šādu komandu.

[aizsargāts ar e-pastu]: ~ $ nice +3 hroms

Un atjaunojiet procesu

[e-pasts aizsargāts]: ~ $ renice -n -6 3612

Secinājums

Šeit ir rokasgrāmata, kā pārvaldīt Linux sistēmu ar ps, top, lsof, pstree, pkilll, kill, killall, nice, renice utt. Daži procesi patērē lielāko daļu CPU un RAM; zinot, kā tos pārvaldīt, tiek palielināts sistēmas ātrums un veiktspēja, kā arī tiek nodrošināta labāka vide, lai efektīvāk palaistu visus vēlamos procesus.

Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...
Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...