Топ команд по управлению процессами
Как-то раньше мы с вами говорили про
процессы и разбирали их различия с программами. Сегодня посмотрим на основные команды, которые КАЖДЫЙ линуксоид должен знать и уметь применять в работе.
Команда для просмотра процессов "ps":
Команда
ps используется для отображения информации о запущенных процессах. Она выводит большинство необходимых данных, которые требуются для администрирования.
Если выполнить
ps без каких-либо флагов, то получится просмотреть только процессы, запущенные текущим терминалом:
$ ps
PID TTY TIME CMD
107468 pts/1 00:00:00 bash
107747 pts/1 00:00:00 ps
C этой командой вам нужно быть довольно точным в требованиях. Если вы хотите посмотреть на полный список процессов, запущенных целевым пользователем, вам нужно попросить именно об этом:
$ ps -u xodefender | grep picom
109331 ? 00:00:00 picom
Если мы посмотрим на вывод с флагом "
--help", то поймем, что команда на столько обширная, что и для "
--help" есть ряд параметров:
$ ps --help
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
Возможных флагов и комбинаций, на самом деле, уйма. На практике, чаще всего, используется именно следующая запись "
ps -aux", где:
'
a' говорит о выводе процессов всех пользователей;
'
u' требует отобразить пользователя, которому принадлежит процесс;
'
x' просит вывести процессы, которые не привязаны к управляющему терминалу (
TTY) - демоны и другие фоновые процессы.
$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 23128 13352 ? Ss 08:57 0:07 /sbin/init
Команды для убийства процессов "kill/pkill":
Бывает же такое, программа просто перестает отвечать на запросы. Да, знаю, частенько бывает. В таком случае может быть полезно, во что бы то ни стало, уничтожить подвисший процесс. Сделать это можно с помощью команд "
kill" и "
pkill".
Команда "
kill" требует указать id процесса, который необходимо терминировать:
$ kill 109331
Работает это через отправку сигнала целевому процессу. Без явного указания, команда пытается "убить" процесс с помощью сигнала "
SIGTERM", которые не гарантирует полное и сиюсекундное терминирование.
Для того, чтобы по-настоящему "убить" процесс, требуется отправить сигнал "
SIGKILL", который находится под 9 номером:
$ kill -9 109331
Список всех сигналов можно получить через флаг '
-l':
$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP ...
Утилита "
pkill" позволяет оперировать именами, а не идентификаторами и отправляет сигнал она всем процессам с указанным именем:
$ pkill -9 picom
Команда для получения id процесса "pgrep":
pgrep позволяет находить идентификаторы (PID) запущенных процессов на основе заданных критериев: имя процесса, его владелец и т.д. Для того, чтобы получить (PID) процесса по его имени, следует выполнить:
$ pgrep picom
109331
Команды для оценки потребления ресурсов системы "top/htop":
Их использование полезно для анализа процессов и определения того, сколько CPU тратится на их выполнение, какое потребление оперативной памяти и т.д.
htop является более продвинутой версией, но, в своей основе, они используются для идентичных целей:
$ top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 106676 xodefen+ 20 0 495180 92356 63828 S 1.0 2.3 0:34.08 Xorg
Linux++ | IT-Образование