training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как посмотреть список текущих процессов ps BASH

Создано: 31 мая 2017Автор: Егор Астапов3033 просмотраСложность: легкий

Довольно часто сервера начинают странно работать. В случае большой загруженности сервера могут возникать ошибки в логах. Перезагрузка операционки может помочь, но вы остановите все рабочие процессы. Если на сервере один два процесса работают, то их можно остановить, но что делать если к серверу подключено большое количество пользователей и они запускают рабочие скрипты? Тут перегрузка враг. В этом случае нужно определить слабое место и закрыть его. Программа ps выводит отчёт о работающих процессах вашего сервера.


# список процессов запущенных от вашего имени
ps -U root

# список PID-процессов
ps ax | grep 'name'

# список PID-процессов + USER + %CPU(процессор) + %MEM (ОЗУ) + VZS + RSS + START
ps aux

# удаление процесса по номеру PID
kill PID

# удаление процесса по номеру PID, PID формируется  внутри $()
kill -9 $(ps aux | grep -e myProcessName | awk '{ print $2 }') 

Если вы первый раз смотрите на вывод команды ps, то понять какие процессы связаны друг с другом довольно сложно. Тут поможет древовидный вывод процессов. Он объединяет процессы по темам. Посмотрите на пример.


 # для построения древовидной структуры используются слеши и подчёркивания
 ps axjf
 
 # отступ вместо линий
 ps -ejH

Вы можете менять приоритет работы команды. Один процесс может быть главным, а другие процессы второстепенными. Утилита nice принимает аргумент «смещение» в диапазоне от -20 (наивысший приоритет) до +19 (низший приоритет)


#запуск скрипта с длительной работой
ps aux | grep nice_test

# установка приоритета для процессов, 
# от -20 (наивысший приоритет) до +19 (низший приоритет)
#в самый верх
renice -n -20 -p PID

# в самый низ 
renice -n 19 -p PID

Существует команда top. Она показывает солбцы: PID, USER, PR, NI, VIRT, RES, SHR, S, %CPU, %MEM, TIME+, COMMAND. Самое интересное - это загрузка CPU (процессор), %MEM (оперативка) и COMMAND (команда).

Существует команда htop. Здесь вы увидите подробные данные по загрузке ядер процессора и ОЗУ. Она по работе очень похожа на top. Вы увидите данные в цвете. Самые тяжёлые процессы отражены в самом верху.


top

htop

Комментарии

реклама