В Linux и Unix-базирани операционни системи изпълняващият се команден екземпляр е известен като процес. Можете да идентифицирате всеки процес чрез уникален идентификатор на процес. Linux предоставя инструменти от командния ред за ефективно изброяване, управление и наблюдение на тези процеси.

Можете да използвате тези инструменти, за да приоритизирате всеки процес или да ги поставите на заден или преден план, за да управлявате ефективно системните ресурси.

Това ръководство за управление на процеси в Linux включва инструменти като ps, kill, renice и други команди, които помагат на системните администратори при управлението и изброяването на процеси.

Изброяване на процеси с командата ps

Най-старата и най-често използвана помощна програма от командния ред за изброяване на текущо работещи процеси в Linux е п.с. Въпреки че горната команда е друг интерактивен и ориентиран към екрана начин за управление и изброяване на системни процеси, ps също така показва допълнителна информация като ресурсите, които всеки процес консумира.

instagram viewer

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

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

Следният изход е пример за изброяване на процеси с потребителски имена, изминало време и свързаната консумация на памет и процесор:

Можете също да отбележите колоната STAT, която показва състоянието на изпълнявания процес. Р представлява процесът, който се изпълнява в момента, и С е процес на заспиване със знак плюс, показващ операции на преден план.

Можете да изброите всички процеси на текущия потребител, както следва:

ps ux | по-малко

За да изброите процеси за всички потребители:

ps aux | по-малко

Управление на процеси със системен монитор

System Monitor предоставя графичен начин за показване и управление на процеси. За да стартирате System Monitor, отидете на Приложения > Системен монитор. Превключете към процеси раздел, за да видите всички работещи процеси.

По подразбиране той показва процеси по азбучен ред за текущия потребител. Можете да сортирате повторно списъка с процеси, като щракнете върху заглавието на която и да е колона. Освен това можете да кликнете върху %ПРОЦЕСОР и Памет заглавия, за да видите процеси, консумиращи повече процесорна мощност и памет.

Системният монитор ви позволява да управлявате процеси по различни начини, което означава, че можете да спирате, убивате, продължавате, прекратявате и променяте приоритета на процеса, като просто щракнете с десния бутон върху името на процес.

Това е най-добрият инструмент за начинаещи потребители на Linux, които не знаят как да работят с помощни програми от командния ред.

Свързани: Как да се показват най-добрите резултати от процеси и да се сортират по памет

Работа с процеси на фон/преден план

Идва момент, когато трябва да получите достъп до Linux система през мрежа, като използвате само команден ред. Това ограничава ефективното управление на множество активни програми. Но обвивката ви позволява да управлявате програми, като ги превключвате на заден и преден план.

Как да стартирате фонов процес

За да стартирате програма, докато продължавате да работите в обвивката, изпълнете командата, спрете я и я поставете във фонов режим с помощта на Ctrl + Z. За да стартирате програма директно във фонов режим, добавете амперсанд (&) в края на командата, както следва:

намерете /usr > /tmp/allusrfiles &

Запишете номера на заданието и идентификатора на процеса. Имайте предвид, че не можете да изпълнявате команди, които изискват въвеждане на терминала във фонов режим.

Можете да използвате работни места команда за показване на всички програми/команди, работещи във фонов режим или тези, които сте спрели (използвайки Ctrl + Z).

работни места

Как да възобновите процесите на преден и заден план

За да продължите работа, която сте поставили във фонов режим, използвайте fg команда и това ще изведе командата на преден план.

fg %

По същия начин, ако сте спрели изпълнението на команда във фонов режим, можете да я рестартирате отново във фонов режим, като използвате командата bg, както следва:

бг %

Убиващи процеси в Linux

Точно както графичен инструмент като System Monitor ви позволява да убивате, спирате и продължавате процес, можете също да използвате инструменти от командния ред като убиват и killall за изпращане на сигнал към работещ процес.

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

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

kill -сигнален номер 
kill -сигнално име

Например, следните команди изпращат сигнала SIGKILL към процес с PID 1987:

убийство -9 1987г
kill -SIGKILL 1987

Най-често използваните сигнали за процеса са:

Опция Описание
SIGKILL (9) Веднага убива процеса
SIGTERM (15) Прекратява процеса
SIGSTOP (19/28/25) Спира процеса
SIGCONT (19/28/25) Продължава процеса, след като спре
РЕГИСТРАЦИЯ (1) Указва на процеса да прочете своя конфигурационен файл

Имайте предвид, че различните процеси реагират различно на тези сигнали, но те не могат да спрат сигналите SIGSTOP и SIGKILL. Въведете следната команда, за да прочетете повече за тези сигнали:

сигнал за мъж 7

Научете повече: Как да прекратите неотговарящи процеси в Linux с kill и pkill

Renicing процеси в Linux

Ядрото на Linux дава приоритет на работещите процеси и присвоява системни ресурси, като взема предвид привилегиите на потребителския акаунт. Ядрото взема предвид и друг фактор, който е "хубавата" стойност на всеки работещ процес.

Добрата стойност по подразбиране на процес е нула, но можете да зададете диапазона между -20 до 19. Някои факти за настройката приоритет на процеса с nice и renice стойностите са:

  • Процес с ниска стойност на nice има повече достъп до ресурсите на процесора
  • Редовният потребител може само да преприоритизира своите процеси
  • Редовният потребител може да зададе само стойности между -20 и 19 и може да зададе само по-висока стойност
  • Суперпотребител може да настрои процесите на всеки на всяка стойност, висока или ниска

Управлението на процесите в Linux стана лесно

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

Можете също да научите за най-горната командна програма за показване и сортиране на процеси и да се научите да прекратявате неотговарящи процеси в Linux.

7 начина да убиете неотговарящи програми в Linux

Когато приложение за Linux престане да реагира и се срине, как можете да го убиете? Опитайте един от тези трикове за принудително излизане от програма в Linux.

Прочетете Следващото

Дялтуителектронна поща
Свързани теми
  • Linux
  • Компютърен процесор
  • Linux команди
  • Linux Elementary
За автора
Румайса Ниази (публикувани 13 статии)

Румайса е писател на свободна практика в MUO. Тя е носила много шапки, от математик до ентусиаст по информационна сигурност, и сега работи като SOC анализатор. Нейните интереси включват четене и писане за нови технологии, Linux дистрибуции и всичко около информационната сигурност.

Още от Rumaisa Niazi

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!

Щракнете тук, за да се абонирате