Как использовать команду ps в Linux для мониторинга процессов

17 set 2024 3 min di lettura
Как использовать команду ps в Linux для мониторинга процессов
Indice dei contenuti

Введение

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

Что такое команда ps ?

Команда ps является сокращением от «статус процесса». Это системная команда, которая обеспечивает статическое представление запущенных в данный момент процессов. В отличие от других инструментов, таких как top или htop, ps не предоставляет интерактивный интерфейс, но возвращает снимок процессов во время его запуска.

Установка ps

Команда ps включена по умолчанию почти во все дистрибутивы Linux, поэтому вам не нужно ее устанавливать. Однако, если по какой-то причине он недоступен, вы можете установить его с помощью менеджера пакетов вашего дистрибутива.

В Debian/Ubuntu:

sudo apt-get install procps

В CentOS/Fedora:

sudo yum install procps

Основное использование ps

Чтобы получить список всех активных процессов в системе, вы можете использовать команду ps без каких-либо опций:

ps

Эта команда вернет список процессов, связанных с пользователем, выполнившим команду. Список будет ограниченным и не будет содержать много информации.

Пример вывода:

 PID TTY TIME CMD
 1234 pts/0 00:00:00 bash
 5678 pts/0 00:00:00 ps

Общие параметры ps

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

PS вспомогательный

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

ps aux

Пример вывода:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
 root 1 0.0 0.1 19352 1540 ? Ss 09:00 0:00 /sbin/init
 root 2 0.0 0.0 0 0 ? S 09:00 0:00 [kthreadd]
 root 3 0.0 0.0 0 0 ? I< 09:00 0:00 [rcu_gp]

пс -эф

Опция -ef — еще одна распространенная опция, которая отображает все процессы в расширенном формате. Он включает в себя такую ​​информацию, как идентификатор родительского процесса (PPID) и время запуска процесса.

ps -ef

Пример вывода:

UID PID PPID C STIME TTY TIME CMD
 root 1 0 0 09:00 ? 00:00:00 /sbin/init
 root 2 0 0 09:00 ? 00:00:00 [kthreadd]
 root 3 2 0 09:00 ? 00:00:00 [rcu_gp]

Фильтрация процессов с помощью grep

Вы можете объединить ps с командой grep для фильтрации процессов по определенной строке. Например, чтобы найти все процессы, связанные с определенной программой, например firefox, вы можете использовать:

ps aux | grep firefox

Пример вывода:

user 1234 0.5 2.3 253428 47232 ? Sl 09:00 0:01 /usr/lib/firefox/firefox
 user 5678 0.0 0.0 14228 1024 pts/0 S+ 09:05 0:00 grep --color=auto firefox

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

Вы также можете сортировать процессы по использованию ЦП или памяти, используя команду ps в сочетании с sort. Например, чтобы отсортировать процессы по использованию ЦП в порядке убывания:

ps aux --sort=-%cpu

Пример вывода:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
 user 1234 5.2 2.3 253428 47232 ? Sl 09:00 0:05 /usr/lib/firefox/firefox
 user 5678 0.5 1.2 123456 24568 ? S 09:00 0:02 /usr/bin/some_program

Просмотр процессов конкретного пользователя

Если вы хотите просмотреть только процессы определенного пользователя, вы можете использовать опцию -u, за которой следует имя пользователя. Например, чтобы просмотреть процессы пользователя john:

ps -u john

Пример вывода:

PID TTY TIME CMD
 1234 pts/0 00:00:00 bash
 5678 pts/0 00:00:00 firefox

Завершить процесс

Если вы определили процесс, который хотите убить, вы можете сделать это с помощью команды kill. Чтобы завершить процесс, вам нужно знать его PID. Например, чтобы завершить процесс с PID 1234:

kill 1234

Если процесс не завершается простым kill, вы можете принудительно завершить его, используя сигнал -9:

kill -9 1234

Заключение

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

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.