2012-12-01 02:23:18 +0000 2012-12-01 02:23:18 +0000
218
218

Hoe verwijder ik systemd services

Als ik een nieuwe service installeer, beslis ik dan dat ik die applicatie niet meer wil en verwijder, de service staat nog steeds vermeld in de uitvoer van systemctl als error.

Waar komt dit vandaan en hoe kan ik ze grondig verwijderen?

Antwoorden (5)

352
352
352
2015-07-06 16:46:50 +0000

Mijn recept voor service obliteration (wees voorzichtig met de rm statements!) 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

Het is mogelijk dat de systemd service de oude stijl scripts ‘omwikkelt’ in /etc/init.d, dus dat wil je misschien ook opruimen, maar dat is niet waar systemd services wonen.

34
34
34
2016-04-13 09:41:17 +0000

U bent waarschijnlijk op zoek naar reset-failed:

$ sudo systemctl reset-failed
$

Vanaf de systemd man pagina:

reset-failed [PATTERN...]

Reset de “mislukte” toestand van de opgegeven eenheden, of als er geen eenheidsnaam wordt doorgegeven, reset dan de toestand van alle eenheden. Wanneer een eenheid op een of andere manier faalt (d.w.z. proces verlaten met een foutcode die niet nul is, abnormaal beëindigen of time-out), zal deze automatisch de “mislukte” status invoeren en de exitcode en -status ervan worden geregistreerd voor introspectie door de beheerder totdat de dienst opnieuw wordt opgestart of gereset met deze opdracht.

24
24
24
2012-12-01 05:39:23 +0000

Klinkt alsof je het verwijderd hebt, maar je hebt de systemd haak niet verwijderd:

# systemctl disable [servicename]

5
5
5
2018-07-29 12:48:30 +0000

Als u het antwoord van @mark-lakata aanvult en rekening houdt met de aandacht die nodig is voor de opdracht rm, kan [chkconfig] het proces vereenvoudigen! klik hier om te lezen over chkconfig )

Om de lijst met opdrachten te herhalen:

  1. systemctl stop [servicename]
  2. chkconfig [servicename] off
  3. systemctl daemon-reload
  4. systemctl reset-failed

Opmerking: Het 1e commando is optioneel, afhankelijk van het feit of u de service in de huidige sessie wilt laten draaien of niet (voor deze vraag moet het commando worden gebruikt).

Het 2e commando zorgt ervoor dat de service zowel wordt uitgeschakeld als verwijderd (na de symfonieën).

1
1
1
2018-11-07 15:31:17 +0000

Het verwijderen van een service uit systemd :

Systemd gebruikt unit (bestand om services te definiëren) om een service te verwijderen die de unit moet worden verwijderd… hier is een lijst van unit locaties :

/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)

Verfrissen systemd :

systemctl daemon-reload
systemctl reset-failed

Spookdiensten (niet gevonden) :

Systemd kan spookdiensten (niet gevonden) weergeven, zelfs als de unit om vele redenen wordt verwijderd

  1. unit nog steeds aanwezig op een van de systemd directory
  2. 2. unit sluit niet af maar er is nog steeds een bestandslink aanwezig op een van de systemd directory
  3. de service wordt gebruikt in andere unit(s)*

(*) als er een service wordt genoemd in een andere unit maar niet bestaat zal systemd nog steeds een lijst maken van die service met de status not-found zelfs als er geen unit-bestand is… je kunt zoeken welke unit die service gebruikt met een tekstzoekopdracht en deze units bewerken (niet aanbevolen als je van plan bent om die service later te installeren)