- 1 1. Introductie
- 2 2. Services opsommen met systemctl
- 3 3. Basisservice‑beheer met systemctl
- 4 4. Handige opties en geavanceerde technieken voor systemctl
- 5 5. Veelvoorkomende problemen en oplossingen
- 6 6. Samenvatting
- 7 7. Veelgestelde Vragen (FAQ)
- 7.1 Q1. Wat is het verschil tussen de commando’s systemctl en service?
- 7.2 Q2. Wat is het verschil tussen list-units en list-unit-files?
- 7.3 Q3. Kan ik een service in de “static”‑status starten?
- 7.4 Q4. Ik kan een gemaskeerde service niet starten. Wat moet ik doen?
- 7.5 Q5. Is er een GUI om de servicestatus te bekijken?
- 7.6 Q6. Waar moet ik aangepaste unit‑bestanden plaatsen?
1. Introductie
Wanneer je Linux gebruikt, zijn er veel situaties waarin je de status van services wilt controleren of alle actieve processen wilt weergeven. In zulke gevallen is het systemctl‑commando enorm handig.
Dit commando werkt met “systemd”, het initialisatiesysteem en de servicemanager op Linux, en biedt een breed scala aan mogelijkheden, zoals het controleren van de status van een service (unit), starten, stoppen, herstarten en het weergeven van services.
Vooral bij het “opsommen met systemctl” kun je de structuur van je systeem vanuit verschillende hoeken bekijken – niet alleen de momenteel actieve services, maar ook inactieve services of services die automatisch moeten starten.
Deze sectie geeft een kort overzicht van de basisprincipes van “systemctl” en legt uit wat je in dit artikel zult leren.
Wat is systemctl?
systemctl is het standaardgereedschap voor het beheren en controleren van verschillende “units”, zoals services, targets en mount‑punten op systemd‑gebaseerde Linux‑distributies.
Bijvoorbeeld, je gebruikt het om services zoals Apache (httpd) of SSH te starten of te stoppen, of om de status van deze services weer te geven.
Relatie tussen systemd en systemctl
systemd is het kernsysteem voor opstartprocessen en servicemanagement op Linux, en vervangt oudere tools zoals SysVinit en Upstart. systemctl is het command‑line‑hulpmiddel dat direct met systemd communiceert.
Met andere woorden, als systemd de “controller” is, dan fungeert systemctl als de “operator” die instructies verzendt.
Wat je in dit artikel zult leren
Dit artikel beantwoordt de volgende veelgestelde vragen:
- Hoe kan ik alle momenteel draaiende services opsommen?
- Hoe neem ik inactieve services op in de lijst?
- Hoe controleer ik welke services zijn ingeschakeld om automatisch te starten?
- Hoe lees en interpreteer ik de resultaten?
Elk commando‑voorbeeld en de bijbehorende output worden zorgvuldig uitgelegd voor beginners, dus voel je vrij om tot het einde mee te lezen.
2. Services opsommen met systemctl
In Linux‑systeembeheer is het snel kunnen overzien van de lijst met services essentieel. Met het systemctl‑commando kun je niet alleen de momenteel actieve services bekijken, maar ook inactieve services en diegene die geconfigureerd zijn om automatisch te starten.
Hier leggen we drie hoofdperspectieven uit voor het opsommen van services:
- Lijst van actieve services
- Lijst van alle services (inclusief inactieve)
- Lijst van service‑unit‑bestanden (inclusief opstartinstellingen)
2.1 Huidige actieve services opsommen
Om te controleren welke services “running” zijn op je systeem, gebruik je dit basiscommando:
systemctl list-units --type=service
Dit commando toont een lijst van momenteel actieve (lopende) services. De output bevat de volgende kolommen:
| Column | Description |
|---|---|
| UNIT | Name of the service (e.g., ssh.service) |
| LOAD | Whether the unit file is loaded |
| ACTIVE | Service status (e.g., active, inactive, failed) |
| SUB | Detailed status (e.g., running, exited, dead) |
| DESCRIPTION | Brief description of the service |
Deze informatie helpt je bijvoorbeeld te begrijpen of nginx momenteel draait of welke services actief zijn.
2.2 Alle services opsommen, inclusief inactieve
Standaard toont list‑units alleen momenteel actieve services. Om inactieve services op te nemen, voeg je de optie --all toe:
systemctl list-units --type=service --all
Met deze optie kun je services zien die zich in de “inactive”‑status bevinden of die nog nooit zijn gestart.
Wil je de resultaten verder verfijnen, gebruik dan de optie --state= om te filteren op een specifieke status:
systemctl list-units --type=service --state=inactive
Dit is handig wanneer je bijvoorbeeld alleen gestopte services wilt controleren.
2.3 Service‑unit‑bestanden opsommen
Als je niet alleen de huidige status wilt weten, maar ook welke services zijn ingeschakeld en automatisch moeten starten, gebruik je het volgende commando:
systemctl list-unit-files --type=service
Dit toont een lijst van service‑unit‑bestanden (configuratiebestanden) en laat je hun enable/disable‑status (enabled, disabled, enz.) controleren.
| STATE Value | Description |
|---|---|
| enabled | Automatically enabled at boot |
| disabled | Not enabled at boot; must be started manually |
| static | Started as a dependency of other units; cannot be enabled/disabled directly |
| masked | Explicitly disabled and cannot be started (protected) |
Het bekijken van deze lijst helpt je visueel te begrijpen welke services bij het opstarten worden gestart en of er per ongeluk services zijn gemaskeerd.
3. Basisservice‑beheer met systemctl
De systemctl‑opdracht controleert niet alleen de status van een service, maar stelt je ook in staat om services te starten, stoppen, herstarten en in of uit te schakelen. Hieronder staan de basisbewerkingen die vaak worden gebruikt bij Linux‑systeembeheer.
Het beheersen van deze commando’s is essentieel voor dagelijks serverbeheer en probleemoplossing.
3.1 Een service starten
Om handmatig een specifieke service te starten, gebruik je de sub‑opdracht start:
sudo systemctl start [service name]
Bijvoorbeeld, om Apache (httpd) te starten:
sudo systemctl start httpd.service
Dit start de service onmiddellijk. Als je wilt dat deze na een herstart behouden blijft, gebruik dan ook enable (zie hieronder).
3.2 Een service stoppen
Om een service te stoppen, gebruik je dit commando:
sudo systemctl stop [service name]
Voorbeeld:
sudo systemctl stop sshd.service
De service blijft gestopt totdat je deze expliciet opnieuw start.
3.3 Een service herstarten
Om een service te herstarten (bijvoorbeeld na configuratiewijzigingen), gebruik je:
sudo systemctl restart [service name]
Voorbeeld:
sudo systemctl restart nginx.service
Herstart stopt altijd eerst en start daarna de service opnieuw, ongeacht de huidige status.
3.4 Service‑status controleren
Om de gedetailleerde status van een service te bekijken, gebruik je de sub‑opdracht status:
systemctl status [service name]
Voorbeeld:
systemctl status mysql.service
Dit toont de huidige actieve toestand, proces‑ID (PID), log‑samenvatting en meer – zeer nuttig voor probleemoplossing.
3.5 Een service automatisch laten starten
Om ervoor te zorgen dat een service automatisch bij het opstarten wordt gestart, gebruik je de sub‑opdracht enable:
sudo systemctl enable [service name]
Voorbeeld:
sudo systemctl enable docker.service
Nu wordt de service automatisch gestart bij de volgende systeem‑boot.
3.6 Een service automatisch laten starten uitschakelen
Om automatisch starten uit te schakelen, gebruik je het commando disable:
sudo systemctl disable [service name]
Voorbeeld:
sudo systemctl disable cups.service
Dit voorkomt dat de service bij het opstarten wordt gestart.
3.7 Controleren of een service is ingeschakeld
Om te controleren of een service is ingeschakeld (automatisch start), gebruik je is-enabled:
systemctl is-enabled [service name]
Voorbeeldoutput:
enabled
Dit geeft snel de opstart‑policy van de service weer.
4. Handige opties en geavanceerde technieken voor systemctl
De systemctl‑opdracht ondersteunt niet alleen basis‑start/stop‑bewerkingen, maar ook geavanceerde beheer‑taken. Hieronder vind je enkele handige opties en technieken die je moet kennen.
Het benutten van deze mogelijkheden kan de efficiëntie van je Linux‑servicebeheer aanzienlijk verbeteren.
4.1 Service‑afhankelijkheden weergeven
In Linux hangen sommige services af van andere units (services, mounts, targets, enz.). Om afhankelijkheden te bekijken, gebruik je list-dependencies:
systemctl list-dependencies [service name]
Voorbeeld:
systemctl list-dependencies nginx.service
Dit commando toont gerelateerde units in een boomstructuur – handig voor het analyseren van de opstartvolgorde en indirecte afhankelijkheden.
4.2 Inhoud van unit‑bestanden bekijken
Als je de details van de configuratie van een unit wilt controleren, kun je het daadwerkelijke unit‑bestand weergeven:
systemctl cat [service name]
Voorbeeld:
systemctl cat ssh.service
Dit toont het bestandspad en de inhoud, zodat je snel eventuele aangepaste instellingen kunt zien.

4.3 Unit‑bestanden herladen
Als je handmatig een unit‑bestand wijzigt, gebruik dan daemon-reload om de wijzigingen toe te passen:
sudo systemctl daemon-reexec
Of, vaker gebruikt:
sudo systemctl daemon-reload
Dit laadt de unit‑bestanden in systemd opnieuw, zodat wijzigingen van kracht worden. Als instellingen niet lijken te werken, probeer dan eerst dit commando.
4.4 Service‑logboeken controleren (aanvulling)
Hoewel dit geen systemctl‑commando is, is journalctl nuttig voor het bekijken van service‑logboeken:
journalctl -u [service name]
Voorbeeld:
journalctl -u docker.service
Hiermee kun je opstart‑fouten en herstart‑geschiedenis bekijken – een essentiële stap bij probleemoplossing.
5. Veelvoorkomende problemen en oplossingen
Wanneer services worden beheerd met systemctl, gaan de dingen niet altijd zoals verwacht. Dit gedeelte legt veelvoorkomende problemen en hoe ze op te lossen uit.
Wees voorbereid op “service start niet” of “kan de oorzaak niet vinden” door deze basisstappen voor probleemoplossing te kennen.
5.1 Probleemoplossing Wanneer een Service Niet Start
U kunt fouten zien zoals:
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
Om de oorzaak te identificeren, controleer de volgende stappen in volgorde:
- Status controleren
systemctl status [service name]
- Foutlogs controleren
journalctl -xe
- Unit-bestanden herladen Als u net een unit-bestand hebt bewerkt, herlaad met:
sudo systemctl daemon-reload
- Poortconflicten controleren Controleer of een ander proces de poort al gebruikt:
sudo netstat -tulnp | grep [port number]
5.2 Hoe Foutmeldingen te Lezen in het status Commando
Wanneer u systemctl status uitvoert, ziet u de status van de service evenals de meest recente logberichten. Bijvoorbeeld:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since Fri 2025-04-18 12:00:00 JST; 5s ago
Process: 12345 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Dit stelt u in staat om snel storingen te spotten (bijv. “Active: failed”, “status=1/FAILURE”) en welk proces een fout retourneerde.
De regel Loaded toont het pad van het unit-bestand, waardoor het gemakkelijk is om het configuratiebestand te identificeren dat moet worden bewerkt.
5.3 Wanneer Services Onverwacht Stoppen
Als een service start maar dan onmiddellijk stopt, omvatten veelvoorkomende oorzaken:
- Fouten in configuratiebestanden
- Poortconflicten
- Ontbrekende vereiste bestanden of mappen
- Onvoldoende uitvoeringsrechten
Om op te lossen, probeer het volgende:
- Configuratiebestanden controleren en valideren (bijv.
nginx -tofapachectl configtest) - Gedetailleerde logs volgen met
journalctl -u [service name] - Zorg ervoor dat vereiste mappen (bijv.
/var/run/xxx) bestaan; maak ze aan indien nodig
5.4 Services Niet Kunnen Starten in masked Status
Als u deze fout ziet:
Failed to start example.service: Unit example.service is masked.
De service bevindt zich in de masked status (volledig uitgeschakeld en geblokkeerd van starten). Ontmasker met:
sudo systemctl unmask [service name]
Dan kunt u de service als gewoonlijk starten.
6. Samenvatting
Servicebeheer in Linux is een essentieel onderdeel van dagelijkse systeembewerkingen. Het systemctl-commando speelt een centrale rol, waardoor u lijsten van services kunt controleren en ze efficiënt kunt beheren.
Dit artikel heeft de volgende punten uitgelegd met behulp van het trefwoord “systemctl list”:
Wat U Kunt Doen met het systemctl Commando (Overzicht)
- Lijst van services controleren
- Momenteel actieve services weergeven (
list-units --type=service) - Alle services weergeven inclusief inactieve (
--allof--state=opties) - Service unit-bestanden en hun opstartstatus tonen (
list-unit-files) - Basis servicebewerkingen
- Starten, stoppen, herstarten en status controleren (start / stop / restart / status)
- Automatische opstart inschakelen/uitschakelen (enable / disable / is-enabled)
- Geavanceerde bewerkingen en probleemoplossing
- Afhankelijkheden controleren, unit-bestanden bekijken, configuraties herladen
- Fouten onderzoeken met behulp van logs en statuscontroles
Beste Praktijken voor Servicebeheer
- Controleer altijd de status voordat u wijzigingen aanbrengt (
statuscommando) - Ken de auto-start status (
is-enabledcommando) - Na het aanbrengen van wijzigingen, voer altijd
daemon-reloaduit - Bij problemen, controleer logs met
journalctl
Zorgvuldige controles zoals deze zorgen voor stabiele servicelevering en snellere probleemoplossing in Linux-systeembeheer.
Voor Verdere Leren
Als u meer wilt leren, overweeg dan onderwerpen te verkennen zoals:
- systemd‑targets (en verschillen met runlevels)
- Geplande taken met
systemd-timer - Hoe aangepaste unit‑bestanden te maken en te beheren
7. Veelgestelde Vragen (FAQ)
Deze sectie vat veelgestelde vragen en antwoorden over het systemctl‑commando en het weergeven van services samen. Zelfs als je de basis al kent, kun je hier snel iets opzoeken.
Q1. Wat is het verschil tussen de commando’s systemctl en service?
A1.
systemctl is het op systemd gebaseerde service‑beheerscommando en de standaard voor de meeste moderne Linux‑distributies (Ubuntu, CentOS, Fedora, enz.).
Daarentegen komt service uit het oudere SysVinit‑systeem. Hoewel het soms voor compatibiliteit behouden blijft, wordt systemctl aanbevolen voor systemd‑omgevingen.
Q2. Wat is het verschil tussen list-units en list-unit-files?
A2.
list-unitstoont momenteel geladen units (actief of eerder gebruikt).list-unit-filesgeeft alle unit‑bestanden en hun in‑/uitgeschakelde status weer. Beschouw het als het verschil tussen “wat nu draait” en “wat geconfigureerd is om te draaien”.
Q3. Kan ik een service in de “static”‑status starten?
A3.
Ja, je kunt handmatig een service in de static‑status starten, maar je kunt deze niet enablen om automatisch te starten. Dit komt doordat statische services bedoeld zijn om als afhankelijkheid van andere units te worden gestart.
Q4. Ik kan een gemaskeerde service niet starten. Wat moet ik doen?
A4.
masked betekent “volledig uitgeschakeld”. Demaskeren met:
sudo systemctl unmask [service name]
Daarna kun je de service normaal starten.
Q5. Is er een GUI om de servicestatus te bekijken?
A5.
Afhankelijk van je distributie kunnen tools zoals gnome-system-monitor, KSysGuard of Cockpit je de servicestatus via een GUI laten zien. Voor geavanceerde handelingen blijft systemctl echter de meest betrouwbare methode.
Q6. Waar moet ik aangepaste unit‑bestanden plaatsen?
A6.
Plaats ze doorgaans in /etc/systemd/system/. Na het bewerken mag je niet vergeten om uit te voeren:
sudo systemctl daemon-reload
Beheer ze vervolgens zoals gewoonlijk met start of enable.

