For superior Linux customers, beginning, stopping, and restarting Linux companies is important. These operations enable customers to access the performance of every service. For instance, to make use of an internet server, customers want to start out the Apache service, or to make use of a database, customers should begin the MySQL service. Managing Linux companies can be necessary for system stability and may help enhance system efficiency.
Regardless of frequent perception, beginning, stopping, and restarting companies in Linux is comparatively easy. We’ll be working with Linux, however all the instructions for beginning, stopping and restarting Linux companies may be run on CentOS, Ubuntu, Redhat, Fedora, Debian, and lots of different distributions.
What’s the distinction between systemctl and repair instructions?
There are two official administration tools that present a constant strategy to begin, cease, restart, and handle system companies in Linux:
Systemctl affords extra superior performance, together with dependency administration, enabling/disabling companies, and integration with journalctl for logging. Service is less complicated and primarily used for primary service begin, cease, and standing instructions. It is usually used with older SysVinit-based programs.
Which one you utilize will rely on whether or not your distribution makes use of systemd or init. Most trendy distributions now use systemd, so systemctl is the service supervisor of selection. However some outdated habits die arduous, so many directors nonetheless maintain onto the growing older service command.
Fortuitously, the builders of systemd made positive to retain service and redirect it to systemctl, so even on systemd-based programs, utilizing service will nonetheless work for primary duties
To complicate issues extra, you would possibly discover a random service you’ve put in that hasn’t been up to date to both the service or systemctl instruments and should manually begin it with /and many others/rc.d (or /and many others/init.d).However we’re searching for greatest practices right here, and for beginning, stopping, or restarting purposes on Linux, greatest practices start and finish with systemctl.
SEE: Start learning to use Linux for IT and Sysadmin with this bundle
Beginning a Linux service
Let’s say you need to begin the Apache server.
To do that:
- Open a terminal window.
- Run the command
sudo systemctl begin httpd
.
On this command:
sudo
tells Linux you’re working the command as the foundation person.systemctl
manages systemd companies.begin
tells the systemctl command to start out the Apache service.httpd
is the identify of the Apache internet server service.
- When you run the command you’ll get the next message:
The service httpd has began efficiently.
Be aware that if the service is already working you will notice the next message:
The service httpd is already working.
SEE: How to quickly open a terminal in a specific Linux directory
Frequent error messages
Failed to start out httpd.service. Unit httpd.service not discovered.
This error happens if the Apache internet server package deal isn’t put in or the service unit file is lacking. Set up the Apache package deal utilizing sudo apt set up apache2 (on Debian-based programs) or sudo yum set up httpd (on Pink Hat-based programs) to resolve it.
Failed to start out httpd.service. Deal with already in use.
This means that one other course of already makes use of the port Apache desires to bind to (often port 80). Establish the conflicting course of with sudo lsof -i:80
and cease it, or change the port configuration in Apache’s config file.
Stopping a Linux service
To cease the Apache service:
- Open a terminal window
- Run the command
sudo systemctl cease httpd
. - You must now see the next message:
The service httpd has been stopped efficiently.
Be aware that if the service, on this case Apache, was not working, you’ll get the next message:
Did not cease service httpd. Unit httpd.service isn't loaded.
Set up it utilizing sudo apt set up apache2
(Debian-based) or sudo yum set up httpd
(Pink Hat-based).
Or chances are you’ll get one of many following messages:
Did not cease service httpd. Unit httpd.service isn't working.
This means Apache is already stopped, so no motion is required.
Did not cease service httpd. Unit httpd.service is in a failed state.
This implies Apache encountered an error and is in a failed state. To troubleshoot, run sudo journalctl -xe
to view detailed logs, then strive restarting the service.
Did not cease service httpd. Unit httpd.service is locked.
This error happens if one other course of is controlling the service. Wait briefly and check out once more, or verify for working administration duties with ps aux | grep httpd
to determine the locking course of.
SEE: Linux 101: How to search for files from the Linux command line
Restarting a Linux service
To restart the identical service (Apache):
- Open a terminal window.
- Run the command
sudo systemctl restart httpd
. - The service will restart, and also you’ll be returned to the bash immediate.
- You’ll get the next message:
The service httpd has been restarted efficiently.
Frequent error messages
If the Apache service isn’t working, you’ll see the next output:
The service httpd isn't working.
You can begin it instantly with sudo systemctl begin httpd
or verify its standing with systemctl standing httpd
.
You may additionally see the next:
Job for httpd.service failed.
This often signifies a configuration or dependency challenge. To troubleshoot, assessment the error particulars with sudo journalctl -xe
and proper any configuration points.
Beginning, stopping, and restarting companies with service utilization
To make issues attention-grabbing, the service command nonetheless works — even for these distributions which have migrated to systemd and systemctl. This implies those that instinctively sort service when needing to restart a service on Linux gained’t obtain an Unknown command
error.
SEE: Run a Google search from the Linux command line with Googler
Within the case of service, the command will redirect to systemctl. In actual fact, while you run the service command on a systemctl-enabled distribution, you’ll clearly see the redirect data.
The service command utilization is a bit completely different from systemctl. The service identify and begin, cease, and restart choices are switched:
sudo service httpd begin
sudo service httpd cease
sudo service httpd restart
In every case, you’ll see service redirected to systemctl, however the service you are trying to start out, cease, or restart will succeed.
To study extra about what systemctl can do for you, ensure to challenge the command man systemctl and provides the person web page a learn.
Source link