30 полезных команд «ps» для мониторинга процессов Linux

30 полезных команд «ps» для мониторинга процессов Linux

LinuxМониторинг

Команды ps (process state — состояние процессов) — это родная утилита Unix/Linux для просмотра информации о работе запущенных процессов в системе: она считывает эту информацию из виртуальных файлов в файловой системе /proc. Это одна из важных утилит для системного администрирования специально созданная для того, чтобы помочь вам понять, что происходит в системе Linux.

 

В этой статье мы рассмотрим 30 полезных примеров команды ps для мониторинга активных запущенных процессов в системе Linux.

Обратите внимание, что ps производит вывод с помощью строки заголовка, которая описывает смысл каждого столбца информации, вы можете найти значение всех меток на странице man ps.

 

Вывод списка всех процессов в текущей оболочке

1. Если вы запускаете команду ps без каких-либо аргументов, она отображает процессы для текущей оболочки.

$ ps

 

ps

 

Вывод всех процессов в разных форматах

2. Отображение каждого активного процесса в системе Linux в общем формате (Unix/Linux).

$ ps -A
ИЛИ
$ ps -e

 

ps

 

3. Отобразим все процессы в формате BSD.

$ ps au

ИЛИ
$ ps axu[/bash]

 

ps

 

4. Чтобы выполнить полноформатный листинг, добавьте флаг -f или -F.

$ ps -ef
ИЛИ
$ ps -eF

 

ps

 

Отображение пользовательских запущенных процессов

5. Вы можете выбрать все процессы, принадлежащие вам, введите:

$ ps -x

 

6. Чтобы отобразить процессы пользователя с помощью реального идентификатора пользователя (RUID) или его имени, используйте флаг -U.

$ ps -fU yurii
ИЛИ
$ ps -fU 1000

 

ps

 

7. Чтобы выбрать процессы пользователя с помощью эффективного идентификатора пользователя (EUID) или его имени, используйте параметр -u.

$ ps -fu sedicomm
ИЛИ
$ ps -fu 1000

 

Вывод всех процессов, выполняемых как root (Real и Effecitve ID)

8. Приведенная ниже команда позволяет просматривать каждый процесс, выполняющийся с правами пользователя root (реальный и эффективный идентификатор) в пользовательском формате.

$ ps -U root -u root

 

ps

 

Отображение групповых процессов

9. Если вы хотите вывести все процессы, принадлежащие определенной группе (идентификатор реальной группы (RGID или её имя), введите:

$ ps -fG adm
ИЛИ
$ ps -fG 48

 

ps

 

10. Чтобы вывести все процессы, принадлежащие эффективному имени группы (или сеанса), введите:

$ ps -fg adm

 

Отобразим процессы по PID и PPID

11. Вы можете перечислить процессы с помощью PID следующим образом.

$ ps -fp 941

 

ps

 

12. Чтобы выбрать процессы с помощью PPID, введите:

$ ps -f --ppid 941

 

ps

 

13. Отсортировать, используя список PID.

$ ps -fp 941,6618,4605

 

ps

 

Процессы отображения TTY

14. Чтобы выбрать процессы с помощью tty, используйте флаг -t следующим образом.

$ ps -t pts/0
$ ps -t pts/1
$ ps -ft tty2

 

ps

 

Вывести дерево процессов

15. Дерево процессов показывает, как процессы в системе связаны друг с другом; процессы, родительские процессы которых были завершены, принимаются init (или systemd).

$ ps -e --forest

 

ps

 

16. Вы также можете вывести дерево процессов для данного процесса, подобного этому:

$ ps -f --forest -C gdm3
ИЛИ
$ ps -ef --forest | grep -v grep | grep gdm3

 

ps

 

Вывод потоков процесса

17. Чтобы вывести все потоки процесса, используйте флаг -H, это покажет LWP (легковесный процесс), а также столбцы NLWP (количество легковесных процессов).

$ ps -fL -C sshd

 

ps

 

Указание формата пользовательского вывода

Используя опции -o или -format, ps позволяет создавать пользовательские форматы вывода, как показано ниже.

18. Чтобы перечислить все спецификаторы формата, пропишите флаг L.

$ ps L

 

19. Приведенная ниже команда позволяет вам просматривать PID, PPID, имя пользователя и команду процесса.

$ ps -eo pid,ppid,user,cmd

 

ps

 

20. Ниже приведен еще один пример пользовательского формата вывода, показывающего группу файловой системы, приоритет nice, время начала и текущее время выполнения процесса.

$ ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime

 

ps

 

21. Чтобы найти имя процесса, используя его PID.

$ ps -p 1334 -o comm=

 

ps

 

Отображение родительских и дочерних процессов

22. Чтобы выбрать конкретный процесс по его имени, используйте флаг -C, это также отобразит все его дочерние процессы.

$ ps -C systemd

 

ps

 

23. Найдите PID всех экземпляров процесса, которые полезны при написании скриптов, которые должны считывать PID из выходного файла std.

$ ps -C httpd -o pid=

 

ps

 

24. Проверьте время выполнения процесса.

$ ps -eo comm,etime,user | grep httpd

 

На приведенном ниже рисунке показано, что служба HTTPD работает в течение 13 минут и 59 секунд.

ps

 

Устранение неполадок производительности системы Linux

Если ваша система работает не так, как должна, например, если она необычно медлительна, вы можете найти некоторые неполадки в системе следующим образом:

26. Найдите процессы, использующие максимальное количество памяти/ЦП в Linux.

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
ИЛИ
$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

 

ps

 

27. Чтобы завершить Linux-процессы / неуправляемые приложения, которые потребляют много ресурсов процессора/памяти, выполните следующую команду:

Во-первых, найдите PID соответствующего процесса или приложения.

$ ps -A | grep -i sshd

 

Затем используйте команду kill, чтобы немедленно завершить его.

$ kill -9 873 1345

 

Вывод информация о безопасности

28. Выведите контекст безопасности (в частности, для SELinux):

$ ps -eM
ИЛИ
$ ps --context

 

ps

 

29. Вы также можете отобразить информацию о безопасности в пользовательском формате с помощью этой команды:

$ ps -eo euser,ruser,suser,fuser,f,comm,label

 

 

 

Выполнение мониторинга процессов в реальном времени с помощью утилиты Watch

30. Наконец, поскольку ps отображает статическую информацию, вы можете использовать утилиту watch для выполнения мониторинга процессов в реальном времени с выводом данных, отображаемым через каждую секунду, как в приведенной ниже команде.

$ watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

 

ps

 

Важно: ps показывает только статическую информацию, для просмотра часто обновляемого вывода вы можете использовать такие инструменты, как htop; top и glances: последние два — это инструмент мониторинга производительности системы Linux.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
LinuxМониторинг

Больше похожих постов

Переход с CentOS 8 на CentOS 8 Stream

Переход с CentOS 8 на CentOS 8 Stream

18
0
Сегодня поговорим о том, как осуществить переход с CentOS 8 на CentOS 8 Stream. Введение CentOS до недавнего времени представляла…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню