Понимание процессов Linux
Процессы — это программы, запущенные в данный момент на вашей машине. Ядро Linux управляет ими, и каждому процессу присваивается уникальный номер, называемый идентификатором процесса (PID). PID обычно назначаются последовательно по мере создания новых процессов.
Базовое использование команды ps
Чтобы получить представление об активных процессах, просто выполните команду ps. Это дает быстрый снимок процессов, связанных с вашей текущей сессией терминала.
$ ps
PID TTY STAT TIME CMD
41230 pts/4 Ss 00:00:00 bash
51224 pts/4 R+ 00:00:00 ps
Этот вывод показывает несколько ключевых деталей:
- PID: Уникальный идентификатор процесса.
- TTY: Управляющий терминал для процесса.
- STAT: Текущий статус процесса.
- TIME: Общее время ЦП, использованное процессом.
- CMD: Команда, запустившая процесс.
Изучение ps с опциями в стиле BSD
Команда ps очень универсальна, имеет множество опций, которые делятся на разные стили синтаксиса (BSD, System V, GNU). Стиль BSD, который не использует дефис для опций, довольно распространен. Популярная комбинация — ps aux:
ps aux
Вот что означают эти опции:
- a: Отображает все процессы для всех пользователей.
- u: Предоставляет подробный формат, ориентированный на пользователя.
- x: Включает процессы, не привязанные ни к какому терминалу. Часто это системные демоны, которые запускаются при загрузке и показывают
?в столбце TTY.
Эта команда дает гораздо более богатый вывод с дополнительными столбцами, такими как USER, %CPU, %MEM, VSZ и RSS. Пока мы сосредоточимся на PID, STAT и COMMAND.
Использование команды ps -ef в Linux
Еще один чрезвычайно популярный синтаксис — стиль System V. Вы часто увидите, как системные администраторы используют команду ps -ef. Это мощный способ получить полную картину всего, что запущено в вашей системе.
ps -ef
Команда ps -ef linux предоставляет полный список всех процессов.
- -e: Выбирает каждый процесс в системе.
- -f: Отображает список в «полном формате», который включает такие детали, как UID, PPID (идентификатор родительского процесса), C (использование ЦП) и STIME (время запуска).
Многие пользователи предпочитают ps -ef команде ps aux из-за ее четкого, иерархического представления и подробной информации. При устранении неполадок в системе Linux запуск linux ps -ef часто является одним из первых шагов для диагностики проблем. Более простой вариант, ps -e linux, также выведет все процессы, но в менее подробном формате.
Мониторинг в реальном времени с помощью top
В то время как ps дает вам снимок, команда top предоставляет в реальном времени динамическое представление процессов в вашей системе. Это отличный инструмент для определения того, какие процессы потребляют больше всего ЦП или памяти. По умолчанию дисплей обновляется каждые несколько секунд.
top