Systemctl command is a tool for controlling services and processes on Linux distributions. You can use it to start and stop services, as well as check their status, through Terminal. Many users, however, get “systemctl: command not found” error when they try to run this utility. If you experience the same issue, don’t worry; this tutorial will help you successfully fix it.
The main cause of the ‘Systemctl command not found’ error is Outdated Operating System. It’s possible that some outdated Linux distributions are using SysV init and Upstart instead of Systemd, which was introduced in the latest versions of operating systems and it isn’t available for the previous ones. If you’re not using Systemd, then systemctl commands will not work in Terminal.
How to fix Systemctl: Command not Found
If you’re using Upstart rather than Systemd, then you have to try a command equivalent of systemctl for your outdated OS to start a service. You can start it with a command through terminal, but first, you must install a service on your system.
Use sudo command to install and control applications that require root privileges. Here are the steps to follow:
1. Press CTRL + ALT + T keys together to open Terminal, then type the following command to start a service:
sudo service elasticsearch start
The service will take a few seconds to start.
2. Type the following command to confirm the status of the service:
sudo service elasticsearch status
Note that some services have their own commands to test. For example, you can confirm elasticsearch by using the below command:
curl –X GET ‘http://localhost:9200’
Pro Tip: Most of the latest Linux distributions use Systemd in place of the SysV init as the init system. For such Linux distributions, Systemctl command should work without any issues.