Вопрос или проблема
Как остановить процесс “daemon” в Linux, чтобы он не перезапустился?
У меня есть VPS на Plesk Linux, в списке процессов есть процесс “daemon”, который использует 40% CPU!!
Я выполняю kill -9 PID
, но он восстанавливается через 30 минут!
С сервером все в порядке. После поиска информации о процессе daemon
сервер отправляет множество уведомлений администратору сервера.
Есть ли решение, чтобы остановить этот процесс?
Все запланированные задачи выполняются от пользователя (user:root
), я остановил уведомления, установил “Не уведомлять”.
Я пытался остановить SMTP Server (Postfix)
в службах, но этот процесс все равно восстанавливается!
У меня уже установлен антивирус “Immunify”, и все сайты на моем сервере чистые.
В “Диспетчере задач” есть 13:
FAILURE task: [2024-09-19 ][1] 21:30:51.085] 3683485:66ec7beb097f3 ERR [panel] [66ec7beb09728] Результат вызова реализации интерфейса: ошибка: Не удается найти домен по id 82 Не удается найти домен по id 82
Все задачи с ошибкой одинаковы, я удалил некоторые поддомены, после удаления любого поддомена отображается такая ошибка задачи.
Ответ или решение
Чтобы прекратить работу процесса "daemon" в Linux так, чтобы он не перезапускался, вам нужно выполнить несколько шагов. Давайте разберем их один за другим.
Шаг 1: Определение процесса
Сначала убедитесь, что вы точно идентифицировали процесс. Используйте команду ps
или top
, чтобы найти PID (идентификатор процесса) вашего демона. Например:
ps aux | grep daemon
Это даст вам список всех процессов с "daemon" в имени.
Шаг 2: Выяснение источника перезапуска
Чтобы понять, почему процесс автоматически перезапускается, вам нужно выяснить, какой демон или служба его запускает. Убедитесь, что вы проверяете эти места:
-
Системные службы:
Если процесс управляется системой (например, systemd или init.d), вы можете найти его в/etc/systemd/system/
или/etc/init.d/
. Выполните команды:systemctl list-units --type=service | grep daemon
или
service --status-all | grep daemon
Если вы его найдете, остановите и отключите его, например:
sudo systemctl stop имя_сервиса sudo systemctl disable имя_сервиса
-
Cron задачи:
Возможно, процесс запускается через планировщик задач crontab. Выполните:crontab -l
и проверьте, нет ли записей, которые могут запускать ваш демон. Если есть — удалите их.
Шаг 3: Блокировка процесса
Если после отключения всех источников перезапуска процесс все еще продолжает работать, вы можете попытаться заблокировать его:
-
Удалите или переименуйте исполняемый файл:
Если вы знаете путь к исполняемому файлу, вы можете его временно переместить или переименовать. Это остановит его от запуска.sudo mv /path/to/daemon /path/to/daemon.bak
- Настройка правил в iptables (для сетевых демонов):
Если процесс взаимодействует с сетью, можно блокировать его доступ к сетевым интерфейсам с помощью iptables. Это предотвратит его работу, хотя это менее распространенный метод.
sudo iptables -A OUTPUT -p tcp -m multiport --dports ПОРТ_ДЕМОНА -j REJECT
Шаг 4: Исправление ошибок в Plesk
Согласно вашему описанию, процесс "daemon" вызывает ошибки, связанные с удаленными доменами. Возможно, стоит произвести следующие действия:
-
Восстановление конфигурации:
Перепроверьте настройки Plesk и убедитесь, что все домены корректно настроены. Возможно, некоторые записи отсутствуют или неправильно настроены, что вызывает проблему с уведомлениями и перезапуском демона. - Удаление несуществующих доменов:
Если вы удалили домены, убедитесь, что их записи полностью удалены из Plesk, чтобы избежать вызова ошибок.
Шаг 5: Перезагрузка системы
После выполнения всех вышеперечисленных шагов стоит перезагрузить сервер, чтобы изменения вступили в силу:
sudo reboot
Заключение
После выполнения всех данных шагов "daemon" не должен перезапускаться. Если проблема остается, возможно, стоит рассмотреть возможность обращения в техническую поддержку Plesk или к вашему хостинг-провайдеру для более глубокой диагностики.
Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь написать.