Fix: -bash: systemctl: command not found
This error matches known, documented patterns with reliable solutions.
Quick Fix (Most Common Solution)
- Use the service command instead (e.g. service nginx restart)
- Check if using init.d system: ls /etc/init.d/
Seeing "systemctl: command not found"? This error can be frustrating, but it's usually fixable. It typically affects your development workflow or system. Below you'll find clear, step-by-step solutions to resolve this issue.
What This Error Means
This system does not use systemd for service management.
Frequently documented in developer and vendor support forums.
Why This Error Usually Happens
- You are running a Linux distribution that does not use systemd (e.g. Alpine Linux uses OpenRC, Devuan uses sysvinit).
- You are inside a Docker container built from a minimal base image that does not include systemd.
- You are using WSL1 on Windows, which does not support systemd (WSL2 does with configuration).
- Your PATH environment variable is misconfigured and does not include /usr/bin or /bin where systemctl normally lives.
Not affiliated with browser, OS, or device manufacturers.
New here? Learn why exact error messages matter →
Common Causes
- Non-systemd distribution (e.g. Alpine, older Debian, WSL1)
- PATH not set correctly — /usr/bin or /bin not included
- systemd not installed in a minimal or container environment
- Running inside a Docker container that uses a non-systemd init
What This Error Is Often Confused With
- bash: service: command not found — Means the service command is also missing — usually a very minimal environment without any init system tools.
- Failed to connect to bus: No such file or directory — Means systemctl exists but the systemd D-Bus socket is not running — common in containers where systemd is installed but not PID 1.
- System has not been booted with systemd — Means systemd is installed but is not the active init system. Different from systemctl not being found at all.
What This Error Does NOT Mean
- Your Linux installation is broken. Many distributions intentionally do not include systemd.
- You cannot manage services at all. Alternative tools like service, rc-service, or direct init.d scripts work on non-systemd systems.
- You need to reinstall your operating system. This is a configuration detail, not a system failure.
How to Fix
- Use the service command instead (e.g. service nginx restart)
- Check if using init.d system: ls /etc/init.d/
- Verify PATH includes /bin and /usr/bin: echo $PATH
- Install systemd if your distro supports it: apt install systemd
Last reviewed: March 2026 How we review solutions
Optional follow-up
Some users ask whether saving fixes for recurring errors would be useful when the same issue appears again.
Was this explanation helpful?
Frequently Asked Questions
What is alternative to systemctl?
Use service name start/stop/restart on older systems.
Which distros use systemd?
Ubuntu 15+, CentOS 7+, Debian 8+ use systemd.
Why does systemctl command not found happen?
This happens when the system does not use systemd as its init system. Common cases include Alpine Linux (uses OpenRC), WSL1, Docker containers with minimal base images, and older distributions that predate systemd adoption.
How do I manage services without systemctl?
Use the service command: service nginx start, service nginx stop, service nginx restart. On Alpine Linux, use rc-service and rc-update. On very old systems, use /etc/init.d/servicename start.
Related Resources
Also Known As
- Linux error
- Unix error
- Terminal error
- Shell error
- Command line error
Common Search Variations
- "linux terminal error"
- "permission denied linux fix"
- "command not found linux"
- "linux shell error solution"
- "ubuntu error how to fix"
- "linux process crashed"
Related Errors
Still Stuck?
Paste a different error message or upload a screenshot to get help instantly.