Services starten, stoppen en herstarten in Linux

Op deze pagina:

Het starten, stoppen en herstarten van services op moderne Linux systemen die werken met systemd kan met systemctl:


sudo systemctl stop service

sudo systemctl start service

sudo systemctl restart service

Als voorbeeld het starten, stoppen en weer herstarten van apache2 (httpd).

Eerst controleren welke naam voor deze service gebruikt wordt. Dat kan zijn httpd of apache2. Via status kan gekeken worden of de service bestaat:


sudo service httpd status

Als je hier deze melding krijgt:


Unit httpd.service could not be found.

Dan heet de service geen httpd, maar apache2 (of hij draait helemaal niet). Dit kan je dan controleren met:


sudo service apache2 status

Service httpd starten:


sudo systemctl start apache2.service

Service httpd stoppen:


sudo systemctl stop apache2.service

Service httpd herstarten:


sudo systemctl restart apache2.service

Als je alleen wil dat de configuratie van de service opnieuw wordt geladen, dan hoef je niet altijd de service te herstarten, dit is afhankelijk van of de service dit toestaat. Als je weet dat de service dit toestaat, dan kan je reload gebruiken:


sudo systemctl reload apache2.service

Als je niet zeker weet of de service het herladen zonder te herstarten toestaat, dan kan je reload-or-restart gebruiken:


sudo systemctl reload-or-restart apache2.service

Draaiende services opvragen

Als je wilt zien welke services er draaien, dan kan dat met het volgende:


systemctl list-units --type=service --state=running

Services automatisch laten starten

Services kunnen automatisch starten bij het starten van het systeem. Het automatisch starten van een service kan je inschakelen met enable:


sudo systemctl enable apache2.service

Als jet automatisch starten wil uitschakelen, dan kan dat met disable:


sudo systemctl disable apache2.service

Services onstartbaar maken met mask

Als je wil dat een service helemaal niet gestart kan worden, niet handmatig en niet automatisch, dan kan dat met mask:


sudo systemctl mask apache2.service

Het starten van de service zal hierna een foutmelding geven:


Failed to start apache2.service: Unit apache2.service is masked.

Mocht je de service toch weer willen gebruiken, dan kan dat via unmask:


sudo systemctl unmask apache2.service

 

Verwante artikelen