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