Введение
Команда 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
к вашим конкретным потребностям.