Linux/Unix управление на процеси: ps, kill, top, df, free, nice команди
Какво е процес?
Екземпляр на програма се нарича процес. С прости думи, всяка команда, която давате на вашата Linux машина, стартира нов процес.
Възможно е наличието на множество процеси за една и съща програма.
Видове процеси:
- Процеси на преден план: Те се изпълняват на екрана и се нуждаят от информация от потребителя. Например Office програми
- Фонови процеси: Те работят във фонов режим и обикновено не се нуждаят от потребителско въвеждане. Например антивирус.
Кликнете тук ако видеото не е достъпно
Изпълнение на процес на преден план
За да стартирате процес на преден план, можете или да го стартирате от таблото за управление, или можете да го стартирате от терминала.
Когато използвате терминала, ще трябва да изчакате, докато стартира процесът на преден план.
Изпълнение на фонов процес
Ако стартирате програма/процес на преден план от терминала, тогава не можете да работите на терминала, докато програмата не започне да работи.
Конкретни задачи с интензивно използване на данни изискват много процесорна мощност и може дори да отнемат часове за изпълнение. Не искате вашият терминал да бъде задържан толкова дълго време.
За да избегнете такава ситуация, можете да стартирате програмата и да я изпратите на заден план, така че терминалът да остане достъпен за вас. Нека се научим как да правим това –
Fg
Можете да използвате командата “fg”, за да продължите спряна програма и да я изведете на преден план.
Простият синтаксис за тази помощна програма е:
fg jobname
Пример
- Стартирайте музикален плейър „banshee“.
- Спрете го с командата 'ctrl +z'
- Продължете го с помощната програма '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 PID
Убий
Тази команда прекратява изпълняваните процеси на 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 -h'
Безплатно
Тази команда показва свободната и използвана памет (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 на вашата система |