Хостинг

Как узнать PID процесса?

Как узнать PID процесса?

Есть несколько способов узнать PID (Process ID) процесса в Linux (включая CentOS 7):

  • С помощью ps и grep (самый распространенный способ): Это классический метод для поиска процессов по имени или части команды. Есть еще htop.
ps aux | grep <имя_процесса_или_ключевое_слово>
  • ps aux: Показывает все запущенные процессы (a - все процессы с терминалом, u - в формате пользователя, x - все процессы без терминала).

  • |: “Пайп”, передает вывод первой команды на вход второй.

  • grep <имя_процесса_или_ключевое_слово>: Фильтрует строки, содержащие указанное слово.

Пример для вашего случая с вредоносом: Вам нужно искать процессы, которые могли быть запущены вредоносными скриптами. Имена могут быть замаскированы, например, под [kcached], или запускаться из путей вроде /home/bitrix/.config/dbus/gs-dbus.

ps aux | grep -E "\[kcached]|gs-dbus|htop/core"
  • -E используется для расширенных регулярных выражений, чтобы | (ИЛИ) работало, и \[kcached] искало точное имя с квадратными скобками.

  • Или ищите по пользователю, от которого они запускались (скорее всего bitrix):

ps aux | grep bitrix

Затем внимательно просмотрите список COMMAND и найдите подозрительные.

Как выглядит вывод:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
bitrix    1234  0.5  2.1 123456 22345 ?        Sl   10:00   0:05 /home/bitrix/.config/dbus/gs-dbus -k /home/bitrix/.config/dbus/gs-dbus.dat -liQD
bitrix    1235  0.0  0.0   1234   567 ?        S    10:00   0:00 [kcached]
user      5678  0.0  0.0  21536  1044 pts/0    S+   11:30   0:00 grep --color=auto -E \[kcached]|gs-dbus|htop/core

В этом примере:

  • PID процесса /home/bitrix/.config/dbus/gs-dbus равен 1234.

  • PID процесса [kcached] равен 1235.

  • Строка с grep — это сама команда поиска, ее игнорируйте. PID для grep здесь 5678.

Второй столбец в выводе ps aux — это PID.

  • С помощью pgrep (более прямой способ): Команда pgrep специально создана для поиска PID по имени или другим атрибутам.
pgrep <имя_процесса>

Она выведет только PID(ы).

Полезные опции для pgrep:

  • -l: Показать имя процесса вместе с PID.

  • -f: Искать по полной командной строке (не только по имени процесса). Это полезно, если процесс запускается скриптом или с множеством аргументов.

  • -u <имя_пользователя>: Искать процессы, запущенные определенным пользователем.

Пример для вашего случая:

pgrep -lf gs-dbus
pgrep -lf kcached  # Может не найти [kcached], так как это измененное имя
pgrep -af "\[kcached]" # Искать точное имя [kcached] по всей командной строке
pgrep -u bitrix -lf "gs-dbus"
  • pgrep -af "/home/bitrix/.config/dbus/gs-dbus": Поиск по полному пути к исполняемому файлу.

  • С помощью top или htop (интерактивные утилиты):

  • Запустите top или htop (htop более удобен, если установлен: sudo yum install htop).

  • В htop вы можете нажать F3 или / и ввести имя процесса для поиска.

  • В top во время его работы можно нажать L и ввести строку для поиска.

  • PID будет отображаться в соответствующем столбце (обычно называется PID).

Как выбрать подходящий способ:

  • Для быстрого получения PID, если вы знаете точное имя процесса: pgrep -l имя_процесса.

  • Для более гибкого поиска, когда имя известно частично или нужно видеть всю команду: ps aux | grep ключевое_слово.

  • Для поиска по всей командной строке, включая аргументы, с pgrep: pgrep -af "часть_командной_строки".

  • Для интерактивного мониторинга и поиска: htop или top.

После того как вы нашли PID, вы можете использовать его с командой kill для завершения процесса, например:

sudo kill

Если процесс не завершается, можно использовать более “жесткий” сигнал:

bash Скопировать

Закрыть блок

sudo kill -9   # Используйте с осторожностью

В вашем случае, после удаления записей из cron, вам нужно будет найти и убить уже запущенные экземпляры вредоносного ПО.


Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →