Linux/Unix управление на процеси: ps, kill, top, df, free, nice команди

Какво е процес?

Екземпляр на програма се нарича процес. С прости думи, всяка команда, която давате на вашата Linux машина, стартира нов процес.

Какво е процес

Възможно е наличието на множество процеси за една и съща програма.

Видове процеси:

  • Процеси на преден план: Те се изпълняват на екрана и се нуждаят от информация от потребителя. Например Office програми
  • Фонови процеси: Те работят във фонов режим и обикновено не се нуждаят от потребителско въвеждане. Например антивирус.

Кликнете тук ако видеото не е достъпно

Изпълнение на процес на преден план

За да стартирате процес на преден план, можете или да го стартирате от таблото за управление, или можете да го стартирате от терминала.

Когато използвате терминала, ще трябва да изчакате, докато стартира процесът на преден план.

Изпълнение на процес на преден план

Изпълнение на фонов процес

Ако стартирате програма/процес на преден план от терминала, тогава не можете да работите на терминала, докато програмата не започне да работи.

Конкретни задачи с интензивно използване на данни изискват много процесорна мощност и може дори да отнемат часове за изпълнение. Не искате вашият терминал да бъде задържан толкова дълго време.

За да избегнете такава ситуация, можете да стартирате програмата и да я изпратите на заден план, така че терминалът да остане достъпен за вас. Нека се научим как да правим това –

Изпълнение на фонов процес

Fg

Можете да използвате командата “fg”, за да продължите спряна програма и да я изведете на преден план.

Простият синтаксис за тази помощна програма е:

fg jobname

Пример

  1. Стартирайте музикален плейър „banshee“.
  2. Спрете го с командата 'ctrl +z'
  3. Продължете го с помощната програма 'fg'.

Fg команда

Нека разгледаме други важни команди за управление на процеси –

Топ

Тази помощна програма съобщава на потребителя за всички работещи процеси на Linux машината.

Топ команда

Натиснете 'q' на клавиатурата, за да излезете от дисплея на процеса.

Терминологията е следната:

Област Descriptйон Пример 1 Пример 2
PID ID на процеса на всяка задача 1525 961
Потребител Потребителското име на собственика на задачата Начало Корен
PR Приоритет

Може да бъде 20 (най-висок) или -20 (най-нисък)

20 20
NI Хубавата стойност на една задача 0 0
ВИРТ Използвана виртуална памет (kb) 1775 75972
ВЕИ Използвана физическа памет (kb) 100 51
Специализирани болници за рехабилитация Използвана споделена памет (kb) 28 7952
S

Статус

Има пет вида:

'D' = непрекъснат сън

'R' = работи

'S' = спи

'T' = проследено или спряно

'Z' = зомби

S R
%ПРОЦЕСОР % от процесорното време 1.7 1.0
%MEM Използвана физическа памет 10 5.1
ВРЕМЕ+ Общо процесорно време 5:05.34 2:23.42
Команда Име на командата Photoshop.exe Xorg

PS

Тази команда означава „Състояние на процеса“. Подобно е на „Диспечер на задачите“, който се появява в a Windows Машина, когато използваме Cntrl+Alt+Del. Тази команда е подобна на командата 'top', но показаната информация е различна.

За да проверите всички процеси, изпълнявани от даден потребител, използвайте командата –

ps ux

PS Команда

Можете също да проверите състоянието на процеса на един процес, като използвате синтаксиса –

ps PID 

PS Команда

Убий

Тази команда прекратява изпълняваните процеси на Linux машина.

За да използвате тези помощни програми, трябва да знаете PID (ID на процеса) на процеса, който искате да убиете

Синтаксис –

kill PID

За да намерите PID на процес, просто въведете

pidof Process name

Нека опитаме с пример.

Убийте командата

NICE

Linux може да изпълнява много процеси наведнъж, което може да забави скоростта на някои процеси с висок приоритет и да доведе до лоша производителност.

За да избегнете това, можете да кажете на вашата машина да приоритизира процесите според вашите изисквания.

Този приоритет се нарича Niceness в Linux и има стойност между -20 и 19. Колкото по-нисък е индексът Niceness, толкова по-висок приоритет ще бъде даден на тази задача.

Стойността по подразбиране на всички процеси е 0.

За да стартирате процес със стойност за доброта, различна от стойността по подразбиране, използвайте следния синтаксис

nice -n 'Nice value' process name

Хубава команда

Ако има някакъв процес, който вече се изпълнява в системата, тогава можете да 'Renice' неговата стойност чрез синтаксис.

renice 'nice value' -p 'PID'

За да промените Niceness, можете да използвате командата 'top', за да определите PID (id на процеса) и неговата Nice стойност. Later използвайте командата renice, за да промените стойността.

Нека разберем това чрез пример.

Хубава команда

DF

Тази помощна програма отчита свободното дисково пространство (твърд диск) на всички файлови системи.

DF команда

Ако искате горната информация в четим формат, използвайте командата

'df -h' 

DF команда

Безплатно

Тази команда показва свободната и използвана памет (RAM) в системата Linux.

Безплатна команда

Можете да използвате аргументите

безплатно -m за показване на изход в MB

безплатно -g за показване на изхода в GB

Резюме:

  • Всяка работеща програма или команда, дадена на Linux система, се нарича процес
  • Процесът може да се изпълнява на преден план или на заден план
  • Индексът на приоритет на процес се нарича Nice в Linux. Стойността му по подразбиране е 0 и може да варира между 20 и -19
  • Колкото по-нисък е индексът на Niceness, толкова по-висок приоритет ще има тази задача
Команда Descriptйон
bg За да изпратите процес на заден план
fg За да стартирате спрян процес на преден план
връх Подробности за всички активни процеси
ps Дайте състоянието на процесите, изпълнявани за даден потребител
ps PID Дава статус на определен процес
pidof Дава ID на процеса (PID) на процес
убий PID Убива процес
хубаво Стартира процес с даден приоритет
бъбреци Променя приоритета на вече работещ процес
df Дава безплатно място на твърдия диск на вашата система
Безплатно Предоставя безплатна RAM на вашата система