---
title: 'Команда ps в действии: 30 примеров для продвинутого мониторинга Linux - Часть 2 | Zomro'
description: 'Как сортировать процессы по различным метрикам, фильтровать их по более сложным критериям, использовать команду ps в скриптах для автоматизации рутинных задач'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2024/11/01/dalle-2024-11-01-164138-create-a-rectangular-infographic-titled-_the-ps-command-in-action_-30-examples-for-advanced-linux-monitoring-part-2_-use-a-neon-gradient-color-sche_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Команда ps в действии: 30 примеров для продвинутого мониторинга Linux - Часть 2 



# Команда ps в действии: 30 примеров для продвинутого мониторинга Linux - Часть 2

08-10-2024

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2024/11/01/dalle-2024-11-01-164138-create-a-rectangular-infographic-titled-_the-ps-command-in-action_-30-examples-for-advanced-linux-monitoring-part-2_-use-a-neon-gradient-color-sche_q50.jpg)

Продолжая наше глубокое погружение в возможности команды **ps** , во второй части мы рассмотрим еще 15 примеров, которые помогут вам освоить более продвинутые техники мониторинга и управления процессами в Linux. Здесь мы сфокусируемся на оптимизации использования ресурсов, безопасности, интеграции с другими утилитами и автоматизации задач.

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

## **Скрипты команды ps**

**16\. Сортировка процессов по использованию CPU**

Команда:
    
    
    ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu
    

Опция **\--sort=-%cpu** сортирует вывод в порядке убывания по колонке %cpu. Это помогает быстро определить процессы, нагружающие процессор.

  
**Пример вывода:**
    
    
      PID USER     %CPU %MEM CMD
     3456 bob      35.0  1.5 /usr/bin/java -jar server.jar
     2345 alice    10.0  2.5 /usr/bin/python app.py
     1234 root      0.5  1.2 /usr/sbin/sshd -D
    

**17\. Сортировка процессов по использованию памяти**

Команда:
    
    
    ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem
    

Опция **\--sort=-%mem** сортирует процессы по потреблению памяти.

  
**Пример вывода:**
    
    
      PID USER     %CPU %MEM CMD
     4567 charlie   5.0 15.0 /usr/bin/python data_analysis.py
     3456 bob      35.0  5.5 /usr/bin/java -jar server.jar
     2345 alice    10.0  2.5 /usr/bin/python app.py
    

**18\. Отображение времени работы процесса**

Команда:
    
    
    ps -p 1234 -o etime
    

Спецификатор **etime** показывает время, прошедшее с момента запуска процесса.

  
**Пример вывода:**
    
    
        ELAPSED
        02:15:30
    

**19\. Отображение точного времени запуска процесса**

Команда:
    
    
    ps -p 1234 -o lstart
    

Спецификатор **lstart** отображает дату и время запуска процесса.

  
**Пример вывода:**
    
    
                  STARTED
    Mon Sep 13 10:00:00 2021
    

**20\. Отображение приоритета процесса**

Команда:
    
    
    ps -p 1234 -o pid,ni,cmd
    

**ni** : значение "niceness" процесса, определяющее его приоритет. Диапазон от -20 (наивысший приоритет) до 19 (наименьший).

  
**Пример вывода:**
    
    
      PID  NI CMD
     1234   0 /usr/sbin/sshd -D
    

**21\. Отображение процессов с их родительскими процессами**

Команда:
    
    
    ps -eo pid,ppid,cmd
    

Это помогает понять, какие процессы были запущены другими процессами.

  
**Пример вывода:**
    
    
      PID  PPID CMD
        1     0 /sbin/init
     1234     1 /usr/sbin/sshd -D
     2345  1234 sshd: user@pts/0
    

**22\. Вывод процессов без заголовков**

Команда:
    
    
    ps -eo pid,cmd --no-headers
    

Опция **\--no-headers** убирает строку заголовка, что полезно при использовании вывода в скриптах.

  
**Пример вывода:**
    
    
     1234 /usr/sbin/sshd -D
     2345 sshd: user@pts/0
    

**23\. Отображение контекста безопасности (SELinux)**

Команда:
    
    
    ps -eZ
    

Опция **-Z** выводит контекст безопасности каждого процесса. Это важно в системах с активированным SELinux для управления политиками безопасности.

  
**Пример вывода:**
    
    
    LABEL                             PID TTY          TIME CMD
    system_u:system_r:init_t:s0         1 ?        00:00:05 /sbin/init
    system_u:system_r:sshd_t:s0      1234 ?        00:00:00 /usr/sbin/sshd -D
    

**24\. Фильтрация процессов по терминалу (TTY)**

Команда:
    
    
    ps -t pts/0
    

Опция **-t** фильтрует процессы, связанные с указанным терминалом.

  
**Пример вывода:**
    
    
      PID TTY      STAT   TIME CMD
     3456 pts/0    Ss     0:00 -
     4567 pts/0    R+     0:00 ps -t pts/0
    

**25\. Исключение определенных процессов из вывода**

Команда:
    
    
    ps -e --exclude 1234
    

Опция **\--exclude** позволяет исключить из вывода процессы с указанным PID.

**26\. Отображение процессов в реальном времени с использованием watch**

Команда:
    
    
    watch -n 5 'ps aux --sort=-%mem | head'
    

Команда **watch** перезапускает указанную команду каждые _n_ секунд (в данном случае каждые 5 секунд), позволяя мониторить изменения в реальном времени.

**27\. Комбинирование ps с awk для расширенной обработки**

Команда:
    
    
    ps -eo pid,cmd,%mem --sort=-%mem | awk '$3 > 1.0 {print $0}'
    

Это отображает процессы, потребляющие более 1% памяти. **awk** фильтрует строки, где значение в третьем столбце (%mem) больше 1.0.

**28\. Поиск процессов с использованием регулярных выражений**

Команда:
    
    
    ps -ef | grep -E 'ssh|nginx'
    

Опция **-E** указывает _grep_ использовать расширенные регулярные выражения. Это отобразит процессы, связанные с _ssh_ или _nginx_.

**29\. Отображение количества потоков процессов**

Команда:
    
    
    ps -eo pid,cmd,nlwp
    

**nlwp** : показывает количество легковесных процессов (потоков) для каждого процесса.

  
**Пример вывода:**
    
    
      PID CMD                          NLWP
     1234 /usr/sbin/sshd -D               1
     3456 /usr/bin/java -jar app.jar     25
    

**30\. Завершение процесса по его имени**

Команда для получения PID процесса:
    
    
    ps -C processname -o pid=
    

Опция **-C** ищет процессы по имени команды, **-o pid=** выводит только PID без заголовка.

  
**Пример:**
    
    
    ps -C firefox -o pid=
    

Команда для завершения процесса:
    
    
    kill PID
    

Замените _PID_ на идентификатор процесса, полученный на предыдущем шаге. Для принудительного завершения используйте **kill -9 PID**.

**Заключение**

Команда ps — это мощный инструмент для мониторинга и управления процессами в Linux. Понимание различных опций и возможностей этой команды позволяет системным администраторам эффективно контролировать состояние системы, оптимизировать использование ресурсов и быстро реагировать на возникающие проблемы.

Освоение приведенных примеров поможет вам глубже понять работу процессов в Linux и повысить уровень профессионализма в управлении системой. Не бойтесь экспериментировать и расширять свои знания, ведь умение эффективно использовать инструменты командной строки — ключевой навык успешного системного администратора.  


Также предлагаем рассмотреть другие полезные статьи:  


  * [Сервисы на серверах Linux и их администрирование с использованием Systemd](https://zomro.com/rus/blog/articles/514-services-on-linux-servers-and-their-administration-using-systemd)
  * [Как установить Linux используя Virtualbox на Windows](https://zomro.com/rus/blog/articles/489-how-to-install-linux-using-virtualbox-on-windows)
  * [Как создать свой образ Linux для Cloud VPS (OpenStack)](https://zomro.com/rus/blog/articles/488-how-to-create-your-own-linux-image-for-cloud-vps-openstack)



Похожие статьи

[PowerShell: Отправка сообщений в Telegram](https://zomro.com/rus/blog/faq/352-powershell-sending-messages-to-telegram) [Как установить и настроить веб-сервер IIS на Windows Server](https://zomro.com/rus/blog/faq/349-kak-ustanovit-i-nastroit-vebserver-iis-php-i-mysql-na-windows-server) [Как подключить свой образ ISO к выделенному серверу](https://zomro.com/rus/blog/faq/234-kak-podkljuchit-svoj-obraz-iso-k-vydelennomu-serveru) [Знакомство с CI/CD: Анализ Методологии Разработки](https://zomro.com/rus/blog/faq/437-znakomstvo-s-cicd-analiz-metodologii-razrabotki) [Как установить Docker на Centos 7](https://zomro.com/rus/blog/faq/287-kak-ustanovit-docker-na-centos-7)

[ Виртуальный хостинг от €3.98/мес ](/rus/virtual)
