Ответы:
Мой рецепт уничтожения сервиса (будьте осторожны с rm
высказываниями!)
systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] symlinks that might be related
systemctl daemon-reload
systemctl reset-failed
Возможно, что служба systemd «оборачивает» сценарии старого стиля в /etc/init.d, так что вы можете захотеть это тоже почистить, но это не то место, где живут службы systemd.
/etc/init.d/[servicename]
перед запускомsystemctl reset-failed
systemctl cat [servicename]
.
Вы, вероятно, ищете reset-failed
:
$ sudo systemctl reset-failed
$
Со страницы справочника systemd:
reset-failed [PATTERN...]
Сбросьте состояние «сбой» указанных блоков или, если имя блока не передано, сбросьте состояние всех блоков. Когда модуль каким-либо образом выходит из строя (то есть процесс завершается с ненулевым кодом ошибки, ненормально завершается или завершается по тайм-ауту), он автоматически переходит в состояние «сбой», а его код выхода и статус записываются администратором для самоанализа до тех пор, пока сервис перезапускается или сбрасывается с помощью этой команды.
Похоже, вы удалили его, но не удалили хук systemd:
# systemctl disable [servicename]
Добавление к ответу @ mark-lakata и помнить о внимательности, необходимой для rm
команды. [chkconfig]
может упростить процесс! ( нажмите здесь, чтобы прочитать о chkconfig )
Чтобы повторить список команд:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Примечание: 1-я команда является необязательной в зависимости от того, хотите ли вы, чтобы служба работала в текущем сеансе или нет (для этого вопроса следует использовать команду).
Вторая команда заботится как об отключении, так и удалении (по символическим ссылкам) службы.
chkconfig
исходная команда для включения / выключения служб SysVinit. В системах, использующих systemd
это, оно может присутствовать как команда обратной совместимости; но родная systemctl
команда так же проста:systemctl disable [servicename]
Удаление службы из systemd:
Systemd использует unit (файл для определения сервисов), чтобы удалить сервис, который необходимо удалить. Вот список местоположений юнитов:
/etc/systemd/system/ (and sub directories)
/usr/local/etc/systemd/system/ (and sub directories)
~/.config/systemd/user/ (and sub directories)
/usr/lib/systemd/ (and sub directories)
/usr/local/lib/systemd/ (and sub directories)
/etc/init.d/ (Converted old service system)
Обновить systemd:
systemctl daemon-reload
systemctl reset-failed
Призрачные сервисы (не найдены):
Systemd может перечислять побочные (не найденные) сервисы, даже если устройство удалено по многим причинам
(*) если служба упоминается в другом модуле, но не существует, systemd по-прежнему перечисляет эту службу с состоянием not-found, даже если нет файла модуля ... вы можете найти, какой модуль использует эту службу, с помощью текстового поиска и отредактируйте эти модули (не рекомендуется, если вы планируете установить эту службу позже)
/usr/lib/systemd/system
а также/etc/systemd/system/
. Для справки см .: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…