30-Useful-‘ps-Command’-Examples-for-Linux-Process-Monitoring

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

Новости

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

 

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

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

 

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

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

$ ps

 

List-Current-Running-Processes

 

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

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

$ ps -A

 

ИЛИ

$ ps -e

 

List-Processes-in-Standard-Format

 

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

$ ps au

 

ИЛИ

$ ps axu

 

List-Processes-in-BSD-Format

 

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

$ ps -ef

 

ИЛИ

$ ps -eF

 

List-Processes-in-Long-List-Format

 

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

5. Вы можете выбрать все процессы, принадлежащие вам (выполните команду ps, как root в этом случае), введите:

$ ps -x

 

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

$ ps -fU tecmint

 

ИЛИ

$ ps -fU 1000

 

List-User-Processes-by-ID

 

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

$ ps -fu sedicomm

 

ИЛИ

$ ps -fu 1000

 

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

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

$ ps -U root -u root

 

Display-Root-User-Running-Processes

 

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

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

$ ps -fG apache

 

ИЛИ

$ ps -fG 48

 

Display-Group-Processes

 

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

$ ps -fg apache

 

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

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

$ ps -fp 1178

 

List-Processes-by-PID

 

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

$ ps -f --ppid 1154

 

List-Process-by-PPID

 

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

$ ps -fp 2226,1154,1146

 

List-Processes-by-PIDs

 

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

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

$ ps -t pst/0
$ ps -t pst/1
$ ps -ft tty1

 

List-Processes-by-TTY

 

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

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

$ ps -e -forest

 

List-Process-Tree

 

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

$ ps -f --forest -C sshd

 

ИЛИ

$ ps -ef --forest | grep -v grep | grep sshd

 

List-Tree-View-of-Process

 

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

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

$ ps -fL -C httpd

 

List-Process-Threads

 

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

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

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

$ ps L

 

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

$ ps -eo pid, ppid, user, cmd

 

List-Processes-with-Names

 

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

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

 

List-Process-ID-Information

 

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

$ ps -p 1154 -o comm=

 

Find-Process-using-PID

 

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

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

$ ps -C sshd

 

Find-Parent-Child-Process

 

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

$ ps -C httpd -o pid=

 

Find-All-Process-PIDs

 

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

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

 

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

Find-Process-Uptime

 

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

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

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

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

 

ИЛИ

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

 

Find-Top-Running-Processes

 

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

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

$ ps -A | grep -i stress

 

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

$ kill -9 2583 2584

 

Find-and-Kill-a-Process

 

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

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

$ ps -eM

 

ИЛИ

$ ps --context

 

Find-SELinux-Context

 

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

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

 

List-SELinux-Context-by-Users

 

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

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

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

 

Real-Time-Process-Monitoring

 

Важно: 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, подайте заявку или получите бесплатную консультацию.
Новости

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

Ушлый хакер долго обманывал десятки компаний, специалист по информационной безопасности где учиться Минск

Ушлый хакер долго обманывал десятки компаний, специалист по информационной безопасности где учиться Минск

52
0
Недавно власти США поймали хакера, который занимался мошенничеством. Прежде всего он обманывал как пользователей, так и компании. Помимо того, участвовал…

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

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

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

Most Viewed Posts
Меню