← Все вопросы

Как посмотреть запущенные процессы в Linux через терминал?

Задан 15 месяцев назад901 просмотров2 ответа
8

Что-то ест всю память, а программа на 8080 порту не отвечает. Хочу посмотреть, какие процессы сейчас запущены в системе и сколько ресурсов жрут. Какие команды для просмотра процессов?

2 ответа

9
✓ Принятый ответ — помог автору

Есть несколько команд — для разных задач.

top — живой монитор процессов в реальном времени (как «Диспетчер задач»):

top

Показывает процессы, отсортированные по нагрузке на CPU, обновляется сам. Выход — клавиша q. Ещё удобнее htop (если установлен) — то же, но красивее и с навигацией.

ps — снимок процессов на текущий момент. Чаще всего используют так:

ps aux

Длинный список всех процессов с их PID, нагрузкой по CPU и памяти, и командой запуска.

Найти конкретный процесс — скомбинируй ps с grep:

ps aux | grep python

покажет только строки с python. Здесь важна вторая колонка — PID (номер процесса), он понадобится, чтобы процесс убить.

Кто занял порт (раз у тебя проблема с 8080):

lsof -i :8080

покажет процесс, который держит порт 8080.

Частая ошибка: в выводе ps aux | grep python видеть лишнюю строку с самим grep (grep python) и принимать её за процесс. Это нормально — grep находит сам себя в списке. Ориентируйся на строки с реальной командой, а не на строку, где написано grep.

3

Краткий набор «посмотреть процессы»:

  • top / htop — живой монитор (выход q).
  • ps aux — снимок всех процессов.
  • ps aux | grep имя — найти конкретный.
  • lsof -i :ПОРТ — кто занял порт.

Главное, что тебе нужно из вывода, — это PID (идентификатор процесса). С ним ты потом сможешь остановить зависшую программу через kill PID.

Ваш ответ

, чтобы ответить на вопрос.