Хостинг

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

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

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

-

	 С помощью `ps` и `grep` (самый распространенный способ): Это классический метод для поиска процессов по имени или части команды. Есть еще **[htop](/articles/bitriks-virtualnaya-mashina/htop-otlichnyy-interaktivnyy-monitor-protsessov/)**.
ps aux | grep <имя_процесса_или_ключевое_слово>
	<li>`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`:





	<li>`-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` (интерактивные утилиты):





	<li>Запустите `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, вам нужно будет найти и убить уже запущенные экземпляры вредоносного ПО.