Gaming industry under DDoS attack. Get DDoS protection now. Start onboarding
  1. Home
  2. Developers
  3. How to Use the systemctl Command in Linux

How to Use the systemctl Command in Linux

  • By Gcore
  • October 11, 2023
  • 3 min read
How to Use the systemctl Command in Linux

To become proficient in Linux system management, it’s essential to master its commands. One command that plays a crucial role in controlling the systemd system and service manager is “systemctl”. In this guide, we’ll simplify the systemctl command, providing you with practical steps and insights to help you utilize its full potential and streamline your Linux administration tasks.

What is the systemctl Command in Linux

The systemctl command in Linux is a utility that manages and interacts with the systemd system and service manager. The systemd is a system initialization system and a service manager that has become the default on many Linux distributions. It’s used to initialize system components and manage services, replacing the older System V init scripts. Pros of the systemctl Command in Linux:

  1. Unified Management. Provides a centralized method for managing services and system states, simplifying tasks like starting, stopping, and restarting services.
  2. Parallel Initialization. Designed for faster boot times by starting services in parallel, reducing system startup duration.
  3. Clear Service Dependencies. Enables clear specification of dependencies, ensuring services start in the correct order and improving overall system stability.
  4. Consistent Logging. Paired with the journald logging system, it facilitates easy and organized retrieval of logs related to specific services.
  5. Dynamic Configuration and Service Resilience. Allows on-the-fly configuration changes without needing full restarts and can automatically restart failed services, enhancing system uptime and reliability.

In the upcoming section, we will explore how to use the system command in Linux.

Utilizing the systemctl Command in Linux

Here’s a step-by-step guide on using the systemctl command in Linux, complete with descriptions and sample outputs.

1. Checking the Status of a Service. Before you work on any service, you might want to know its current status. Run the command below:

systemctl status service_name

Sample Output:

● sshd.service - OpenSSH Daemon   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)   Active: active (running) since Tue 2023-10-10 08:00:00 UTC; 1h ago Main PID: 1234 (sshd)    Tasks: 10 (limit: 4096)   Memory: 10M   CGroup: /system.slice/sshd.service           ├─1234 /usr/sbin/sshd -D           └─5678 sshd: user@pts/0

2. Starting a Service. If a service is not running, you can start it. Usually, no output is displayed if the command is successful. Run the command:

systemctl start service_name

3. Stopping a Service. You can stop a running service. No output is displayed once the command runs successfully.

systemctl stop service_name

4. Restarting a Service. If you made changes or just need to refresh a service, restart it.

systemctl restart service_name

5. Enabling a Service. This ensures the service starts on boot.

systemctl enable service_name

Sample Output:

Created symlink from /etc/systemd/system/multi-user.target.wants/service_name.service to /usr/lib/systemd/system/service_name.service.

6. Disabling a Service. This prevents the service from starting on boot.

systemctl disable service_name

Sample Output:

Removed symlink /etc/systemd/system/multi-user.target.wants/service_name.service.

7. Reloading Service Configuration. If a service’s config file has changed, you can reload it without restarting.

systemctl reload service_name

8. List All Active Services. View a list of all services and their statuses.

systemctl list-units --type=service

Sample Output:

  UNIT                    LOAD   ACTIVE SUB     DESCRIPTION  cron.service            loaded active running Regular background program processing daemon  sshd.service            loaded active running OpenSSH Daemon  ufw.service             loaded active exited  Uncomplicated firewall

9. Reboot System. Restart the entire system. Your system will begin the reboot process once you run the command:

systemctl reboot

10. Check Logs for a Service. View the logs related to a specific service.

journalctl -u service_name

Sample Output:

-- Logs begin at Tue 2023-10-10 07:00:00 UTC, end at Tue 2023-10-10 09:00:00 UTC. --Oct 10 08:00:01 servername sshd[1234]: Server listening on 0.0.0.0 port 22.

Congratulations, you’ve now learned how to use the systemctl command in Linux. Please note that this guide covers the basics, but there’s much more to systemctl. As you become more familiar with it, you’ll discover it’s a versatile tool for managing your Linux system.

Conclusion

Looking to deploy Linux in the cloud? With Gcore Cloud, you can choose from Basic VM, Virtual Instances, or VPS/VDS suitable for Linux:

Choose an instance

Related articles

What's the difference between multi-cloud and hybrid cloud?

Multi-cloud and hybrid cloud represent two distinct approaches to distributed computing architecture that build upon the foundation of cloud computing to help organizations improve their IT infrastructure.Multi-cloud environments involve us

What is multi-cloud? Strategy, benefits, and best practices

Multi-cloud is a cloud usage model where an organization utilizes public cloud services from two or more cloud service providers, often combining public, private, and hybrid clouds, as well as different service models, such as Infrastructur

What is cloud migration? Benefits, strategy, and best practices

Cloud migration is the process of transferring digital assets, such as data, applications, and IT resources, from on-premises data centers to cloud platforms, including public, private, hybrid, or multi-cloud environments. Organizations can

What is a private cloud? Benefits, use cases, and implementation

A private cloud is a cloud computing environment dedicated exclusively to a single organization, providing a single-tenant infrastructure that improves security, control, and customization compared to public clouds.Private cloud environment

What is a cloud GPU? Definition, types, and benefits

A cloud GPU is a remotely rented graphics processing unit hosted in a cloud provider's data center, accessible over the internet via APIs or virtual machines. These virtualized resources allow users to access powerful computing capabilities

What is cloud networking: benefits, components, and implementation strategies

Cloud networking is the use and management of network resources, including hardware and software, hosted on public or private cloud infrastructures rather than on-premises equipment. Over 90% of enterprises are expected to adopt cloud netwo

Subscribe to our newsletter

Get the latest industry trends, exclusive insights, and Gcore updates delivered straight to your inbox.