Odpowiedzi:
Mój przepis na zatarcie usługi (uważaj na rm
oświadczenia!)
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
Możliwe, że usługa systemowa „otacza” skrypty starego stylu w /etc/init.d, więc możesz chcieć to również wyczyścić, ale nie w tym miejscu znajdują się usługi systemowe.
/etc/init.d/[servicename]
przed uruchomieniemsystemctl reset-failed
systemctl cat [servicename]
.
Prawdopodobnie szukasz reset-failed
:
$ sudo systemctl reset-failed
$
Ze strony systemd:
reset-failed [PATTERN...]
Zresetuj stan „awarii” określonych jednostek lub, jeśli nie zostanie podana żadna nazwa jednostki, zresetuj stan wszystkich jednostek. Gdy jednostka w jakiś sposób ulegnie awarii (tj. Proces kończy się z niezerowym kodem błędu, kończy się nienormalnie lub kończy się limit czasu), automatycznie przejdzie w stan „awarii”, a jego kod wyjścia i status są rejestrowane do introspekcji przez administratora do momentu usługi jest ponownie uruchamiany lub resetowany za pomocą tego polecenia.
Wygląda na to, że go odinstalowałeś, ale nie usunąłeś haka systemowego:
# systemctl disable [servicename]
Dodanie do odpowiedzi @ mark-lakata i pamiętanie o uważności wymaganej do wykonania rm
polecenia. [chkconfig]
może uprościć proces! ( kliknij tutaj, aby przeczytać o chkconfig )
Aby powtórzyć listę poleceń:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Uwaga: 1. polecenie jest opcjonalne w zależności od tego, czy chcesz, aby usługa działała w bieżącej sesji, czy nie (jak w przypadku tego pytania należy użyć polecenia).
Drugie polecenie zajmuje się zarówno wyłączeniem, jak i usunięciem (po dowiązaniach symbolicznych) usługi.
chkconfig
było oryginalnym poleceniem włączania / wyłączania usług SysVinit. W systemach używających systemd
może występować jako polecenie kompatybilności wstecznej; ale natywna systemctl
komenda jest równie prosta:systemctl disable [servicename]
Usuwanie usługi z systemd:
Systemd używa jednostki (pliku do zdefiniowania usług), aby usunąć usługę, którą jednostka musi zostać usunięta ... oto lista lokalizacji jednostek:
/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)
Odśwież systemd:
systemctl daemon-reload
systemctl reset-failed
Usługi widma (nie znaleziono):
Systemd może wyświetlić usługi widma (nie znaleziono), nawet jeśli jednostka zostanie usunięta z wielu powodów
(*) jeśli usługa jest wymieniona w innej jednostce, ale nie istnieje, systemd nadal będzie wyświetlać tę usługę ze stanem nie znalezionym, nawet jeśli nie ma pliku jednostki ... możesz wyszukać, która jednostka korzysta z tej usługi za pomocą wyszukiwania tekstowego i edytuj te jednostki (niezalecane, jeśli planujesz później zainstalować tę usługę)
/usr/lib/systemd/system
i również/etc/systemd/system/
. W celach