Ответ
ps (process status) — это стандартная консольная утилита для отображения снимка информации о текущих запущенных процессах. В отличие от top или htop, она не обновляет данные в реальном времени, а показывает состояние на момент выполнения команды.
Наиболее часто используемые форматы вызова:
-
ps aux— BSD-стиль. Показывает все процессы всех пользователей с детализацией.a— процессы всех пользователей.u— пользователь-ориентированный формат (показывает USER, %CPU, %MEM).x— включает процессы без управляющего терминала (демоны).
-
ps -ef— UNIX/SysV-стиль. Более стандартизированный, компактный вывод.-e— все процессы.-f— полный формат (показывает UID, PID, PPID, время запуска).
Пример вывода ps aux | head -5:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 169316 13056 ? Ss Feb01 0:08 /sbin/init
root 2 0.0 0.0 0 0 ? S Feb01 0:00 [kthreadd]
www-data 745 0.0 0.2 321000 22500 ? S Feb01 0:15 nginx: worker process
Практическое применение:
- Поиск процесса:
ps aux | grep nginx - Просмотр дерева процессов:
ps auxfилиps -ef --forest - Кастомный формат вывода:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -10(топ-10 процессов по потреблению памяти). - Проверка PID по имени:
pgrep nginxилиpidof nginx(альтернативы).
Ключевые поля вывода: PID (идентификатор), PPID (родительский PID), %CPU/%MEM (нагрузка), VSZ (виртуальная память), RSS (резидентная память), STAT (статус процесса, например, S — спящий, R — запущенный, Z — зомби), COMMAND (команда запуска).