commands.page Website Logo

  • Home
  • Categories
  • Search

How to Restart a Service on the Terminal in Ubuntu

This is an article about restarting services via terminal commands in Ubuntu, which falls under the category of system administration. In this guide, we’ll focus primarily on how to manage services using command-line tools available in Linux environments like Ubuntu, with special emphasis on service restarts. Read this article to find out how you can efficiently control and monitor your system’s background processes from the terminal.

Understanding Services in Ubuntu

Services, also known as daemons, are background processes that run continuously in a computer system. They perform essential tasks such as managing network connections, starting up other applications, or monitoring system resources. In Ubuntu, services are managed through systemd, which is a system and service manager for Linux operating systems.

What is Systemd?

Systemd is the default init system used by modern distributions like Ubuntu 16.04 and later versions. It provides powerful management of processes and services on the system. With systemd, you can start, stop, restart, enable or disable services at boot time with ease.

Common Commands for Managing Services

To effectively manage services in Ubuntu using the terminal, it’s essential to be familiar with several command-line tools provided by systemd:

  • systemctl: This is the primary tool used to control and inspect the state of systemd.
  • service: An older utility that also allows service management but uses a more traditional SysVinit style syntax.

Basic Syntax

Regardless of whether you use systemctl or service, commands follow a similar structure:

command <operation> <service_name>

Examples include start, stop, and restart.

Restarting Services with systemctl

The most versatile method for managing services in Ubuntu is through the systemctl command. Below are detailed steps to restart various types of services.

Step 1: Identifying Service Names

Before attempting to manage a service, you must know its exact name. You can list all available services using:

systemctl list-units --type=service

Or for installed but not necessarily active services:

ls /etc/systemd/system/*.service /lib/systemd/system/*.service /usr/lib/systemd/system/*.service

Step 2: Checking Service Status

Before restarting a service, it’s good practice to check its current status to ensure you’re managing the correct service and understand whether it’s running or stopped:

systemctl status <service_name>

Replacements for <service_name> include nginx, apache2, mysql, etc., depending on what services are installed on your system.

Step 3: Restarting a Service

Once you’ve identified the service name and confirmed its status, use the following command to restart it:

sudo systemctl restart <service_name>

For example:

sudo systemctl restart apache2

This stops the current instance of Apache if running, then starts it again. If the service is not currently active (not running), restarting it will start it up.

Step 4: Verifying Restart Success

After issuing a restart command, verify that the operation was successful and the service has indeed started:

systemctl status <service_name>

Look for lines indicating “active” or “running” in the output to confirm the service is now operational.

Using Service Command (Deprecated)

While less common with modern Ubuntu systems due to systemd’s prominence, the service command can still be used on older installations. The syntax remains very similar:

sudo service <service_name> restart

Example: Restarting SSH

To illustrate how this works in practice, here’s a typical example of restarting an SSH service using both methods.

Using systemctl

sudo systemctl restart ssh.service

Or simply:

sudo systemctl restart ssh

Using Service Command

If you prefer or are working with legacy systems:

sudo service ssh restart

Troubleshooting Tips

Checking Logs

In cases where a service does not start correctly after restarting, reviewing logs can provide valuable clues. The journalctl command is very useful here:

journalctl -xe

This will show recent log entries in the journal, which may include error messages related to your restarted service.

Common Issues

  • Permissions: Ensure you’re using sudo before commands if necessary.
  • Service Name Errors: Double-check spelling and case sensitivity of service names.
  • Dependency Issues: Some services have dependencies that must be started first (e.g., networking services).

Conclusion

In this article, we’ve covered the essentials for managing and restarting services in Ubuntu through the terminal. Mastering these skills is crucial for any system administrator or developer working within a Linux environment. Understanding how to control your services with commands like systemctl ensures you can maintain stability and efficiency across your systems.

For deeper exploration into systemd, consider checking official documentation or tutorials on more advanced topics such as service file creation and customizing startup behavior.

Happy managing!

Last Modified: 22/05/2019 - 14:09:18