Відповіді:
Мій рецепт сервісної знищення (будьте обережні з 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, тому ви, можливо, захочете також очистити це, але там не живуть системні служби.
/etc/init.d/[servicename]
перед запускомsystemctl reset-failed
systemctl cat [servicename]
.
Ви, ймовірно, шукаєте reset-failed
:
$ sudo systemctl reset-failed
$
На сторінці системного man:
reset-failed [PATTERN...]
Скиньте стан "невдало" вказаних одиниць, або якщо ім'я одиниці не передано, відновіть стан усіх одиниць. Якщо підрозділ якимось чином виходить з ладу (тобто процес, який виходить з ненульовим кодом помилки, аномально закінчується або закінчується час), він автоматично вводить стан "невдало", а його вихідний код і статус записуються адміністратором до самоаналізу до надання послуги перезапускається або скидається за допомогою цієї команди.
Додавання відповіді до @ mark-lakata та врахування уваги, необхідної для rm
команди. [chkconfig]
можна спростити процес! ( натисніть тут, щоб прочитати про chkconfig )
Щоб повторно повторити список команд:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Примітка. Перша команда є необов'язковою залежно від того, хочете ви продовжувати роботу сервісу в цьому сеансі чи ні (що стосується цього питання, яку команду слід використовувати).
2-а команда піклується як про відключення, так і про видалення (дотримуючись символьних посилань) служби.
chkconfig
була оригінальною командою для вмикання / відключення служб SysVinit. У системах, що використовують systemd
, вона може бути представлена як зворотна команда сумісності; але рідна systemctl
команда така ж проста:systemctl disable [servicename]
Видалення послуги з systemd:
Systemd використовує підрозділ (файл для визначення служб) для видалення послуги, яку потрібно видалити ... ось список розташування одиниць:
/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, все одно буде перераховано цю службу зі станом, не знайденим, навіть якщо не існує одиничного файлу ... ви можете шукати, який підрозділ використовує цю послугу, використовуючи текстовий пошук та відредагуйте ці блоки (не рекомендується, якщо ви плануєте встановити цю службу пізніше)
/usr/lib/systemd/system
а також/etc/systemd/system/
. Для ознайомлення див.: Access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…