- Correct Way of Using Ubuntu systemctl to Control Systemd
- Prerequisites
- What is Ubuntu Systemctl?
- Listing All Services
- Listing Services with Specific State
- Listing Enabled Services
- Listing Service Properties
- Managing a Specific Service
- Stopping a Service
- Starting a Service
- Enabling or Disabling a Service
- Conclusion
- Comment gérer les services système Ubuntu Linux avec Systemctl?
- Systemd et Systemctl
- Fonctionnalités Systemd
- Gérer les services système Ubuntu Linux avec Systemctl
- Démons ou services Systemctl
Correct Way of Using Ubuntu systemctl to Control Systemd
Managing a service or group of services in a modern Linux PC can be a drag, that is, if you’re not sure what you’re doing. Lucky for you, Ubuntu Systemctl has you covered to manage services on a Linux PC.
In this tutorial, you will learn how to manage Systemd services on Ubuntu PC by running different systemctl commands.
Prerequisites
This tutorial will be a hands-on demonstration but doesn’t require special tools, so long as you’re on Ubuntu 16 or higher version, you’re good to go. This tutorial uses Ubuntu 20.04.3 LTS version for the demos.
What is Ubuntu Systemctl?
Before running Ubuntu systemctl commands, get to know what Systemctl is first. Systemctl is a command-line utility to control and manage systemd and system services.
In a nutshell, Systemctl is a control panel or service manager for the systemd init system to initialize components after the Linux kernel is booted. Systemctl is a collection of libraries, daemons, and utilities that you can use to manage services.
To effectively manage services, know the different service states as follow:
- Enabled – indicates a service is configured to start when the system boots.
- Disabled – indicates a service is configured not to start when the system boots.
- Active – indicates a service is currently in running state.
- Inactive – indicates a service is not currently running but may start when some application tries to start that service.
Listing All Services
Now that you know the different states of services, perhaps you want to see a list of all the services on your Ubuntu PC. Listing all services provides a handful of information that prepares you for managing services.
Open your terminal and run the below command to list all the service units ( list-units ) (active, running, exited, or failed) with the service set as unit type ( —type=service ).
systemctl list-units --type=service
Pick any of the services from the list you want to manage later in this tutorial and note the UNIT name (e.g., apache2). Hit the spacebar to scroll down, or hit the “Q” key to exit the command.
By the way, here’s a good guide on Linux Shell Scripting.
Listing Services with Specific State
Instead of listing all services, perhaps you want to narrow down the list of services. If so, adding the —state parameter will do the trick, as it filters out the services with the specific state you specify.
Run either of the commands below to list all active services ( —type=service —state=active ), both running and exited.
systemctl list-units --type=service --state=active
Similarly, to list only exited or running services, change the state value from active to either running or exited , as shown in the below commands:
systemctl --type=service --state=running systemctl --type=service --state=exited
Listing Enabled Services
Apart from listing active, running, and exited services, you can also list enabled and disabled services by pipelining the grep command.
Run either of the commands below to list ( list-unit-files ) disabled or enabled services ( —type=service ).
## Lists all Enabled services systemctl list-unit-files --type=service | grep enabled ## Lists all Disabled services systemctl list-unit-files --type=service | grep disabled
Take note of an enabled service, as shown below, as you’ll need it later for disabling a service, but this tutorial uses the acpid.service for demo. The acpid is an extensible daemon that supports the Advanced Configuration and Power Interface (ACPI) events.
Listing Service Properties
Aside from listing services, you may want to check a service’s properties. Having insight into service properties is handy for troubleshooting, parameters for the process, or restart behavior.
Run the command below to show a service’s ( acpid.service ) properties in a key=value format.
systemctl show acpid.service
Now, if you’re only looking for a specific service property, you can pass the -p flag with the property name.
Run the below command to show a service’s ( acpid.service ) MainPID property.
systemctl show acpid.service -p MainPID
Managing a Specific Service
Since the basics of listing services are out of the way, it’s time to manage a specific (single) service by running the systemctl stop and start commands.
Apache service (apache2) is used for the following demos, but you may freely manage the service you noted in the “Listing All Services” section. But before you stop or start a service, you first need to verify the service’s status.
Run the below command on a terminal to view the apache2 service’s detailed information like its status .
Below, you can see that the apache2 service is active and running.
Entering the sudo password is not needed for viewing service status as you are not changing the service state. But if you start, stop or restart a service, you have to prepend the sudo command and enter the sudo password.
Stopping a Service
Perhaps you want to stop a service that was left hanging and still running in the background. In that case, the systemctl stop command is what you need. Run the systemctl command below to stop the apache2 service.
sudo systemctl stop apache2
If you prefer to stop multiple services simultaneously, specify each service separated by space, like this: sudo systemctl stop sshd apache2 . In this command, you’ll stop both sshd and apache2 services in one go.
Now run the systemctl status command as you did previously to verify if the apache2 service stopped.
You can see below that the status of the apache2 service changed to inactive (dead), which indicates the service stopped.
Starting a Service
Now how do you start a service if you noticed it’s not running at all? You run a command similar to stopping service, which is the systemctl start command. Run the below command to start the apache2 service.
sudo systemctl start apache2
Like stopping multiple services, you can also start multiple services in a single line of command. Replace the stop command with the start command like this: sudo systemctl start sshd apache2
Now run the systemctl status command one more time to verify if the apache2 service is running.
If you see the active (running) status, as shown below, then you’re all set as the service is back in business.
If you prefer to restart the service right off the bat without having to stop it first. If so, go for the systemctl restart command instead, like this: sudo systemctl restart apache2
Enabling or Disabling a Service
Perhaps there’s a particular service you prefer to either start or prevent to start on system boot. If so, running the systemctl enable or disable command is the best approach.
The enable subcommand lets you configure the default startup settings on your system, while the disable subcommand prevents a service from running on system boot.
Run the systemctl command below to disable the service ( acpid.service ) you noted in the “Listing Enabled Services” section. Enter your sudo password to authorize running the command.
sudo systemctl disable acpid.service
Now since acpid.service supports OS-directed configuration and Power Management (OSPM); you need to re-enable it. The command to enable service is similar to disabling a service.
Execute the systemctl command below to enable acpid.service . This command registers the service back to default startup settings on your system.
sudo systemctl enable acpid.service
Conclusion
In this tutorial, you’ve realized how quickly you can stop, start or restart services by running Ubuntu systemctl commands. You’ve also learned that the systemctl command lets you manage not just one but multiple services simultaneously.
With this newfound knowledge, why not automate controlling services in your Ubuntu system?
Hate ads? Want to support the writer? Get many of our tutorials packaged as an ATA Guidebook.
Comment gérer les services système Ubuntu Linux avec Systemctl?
En technologie, les services sont des programmes qui s’exécutent en arrière-plan, hors de contrôle et de l’interface utilisateur / ordinateur. Ils sont également connus sous le nom de démons et sont chargés d’aider le reste des programmes du système. Apprenez à gérer les services système Ubuntu Linux avec Systemctl.
Les services offrent plus de sécurité et sont essentiels au fonctionnement de l’ensemble du système d’exploitation. Celles-ci démarrent au démarrage de l’ordinateur et peuvent répondre aux demandes sur le réseau ou surveiller l’exécution des processus système.
Si vous disposez d’un ordinateur doté de deux systèmes d’exploitation, vous pouvez modifier l’ordre de démarrage de Grub dans Ubuntu Linux.
Systemd et Systemctl
C’est l’administrateur de tous les services Linux, et Systemctl en est une commande spéciale. Celui-ci sera chargé de démarrer tous les éléments qui doivent être chargés une fois le système démarré. Il s’agit d’un ensemble de démons et d’outils conçus pour la configuration et l’interaction avec le noyau Linux.
Systemd est comme le parent des processus, puisque son objectif principal est d’unir toutes les distributions et configurations de base. Il a été créé pour remplacer l’ancien système SysV, allant au-delà des tâches de démarrage.
En plus du gestionnaire de programmes Systemctl, pour accélérer le fonctionnement de vos programmes, il est recommandé de libérer de l’ espace sur votre disque dur pour avoir plus de capacité.
Fonctionnalités Systemd
- Il a considérablement amélioré sa vitesse au début du programme. En outre, il active les services via «Sockets» qui est une interface de programmation d’application (API).
- Vous pouvez faire des enregistrements via «Cgroups» de tous ces services et programmes qui ont été démarrés. Systemd est livré avec des packages prédéfinis, vous pouvez donc exécuter et gérer plusieurs démons en parallèle.
Systemd est utilisé par la plupart des programmes proposés par Linux par défaut. De Fedora, Red Hat et Debian à Arch. Et, avec la commande Systemctl, en plus de fournir des informations sur l’état de Systemd et la gestion des exécutions, vous pouvez gérer les services système Ubuntu Linux avec Systemctl.
Gérer les services système Ubuntu Linux avec Systemctl
Avec Systemctl, vous pouvez démarrer et arrêter un programme, recharger, activer et désactiver des services, entre autres. Pour commencer à gérer les services système Ubuntu Linux avec Systemctl, vous devez vous assurer de l’avoir sur votre système.
Sur Internet, vous pouvez rechercher et télécharger tous les programmes dont vous avez besoin pour votre ordinateur.
Pour ce faire, ouvrez la fenêtre «Terminal» et exécutez la commande » Systemd – version » avec cela vous pouvez connaître le numéro de la version installée sur votre système Linux.
Démons ou services Systemctl
- Systemd – analyser , vous permet de voir la progression du démarrage du système. En plus de ses qualités telles que le temps qu’il a fallu pour démarrer et les processus qui ont ajouté du temps à cette startup. Pour voir chaque processus individuellement, utilisez la commande » Systemd – analyser les défauts «.
- » Systemctl list-unit-files » est une commande utilisée pour visualiser les sections de fichiers ou d’unités. Ceci est fait parce que Systemd utilise des services, des points de montage et des périphériques. Ainsi, avec cette commande, vous pouvez voir chacun d’eux et comment ils ont fonctionné.
- » Systemctl list-unit-files – type = service » est utilisé pour savoir quels services ou démons ont été et sont activés et quels autres ne l’ont pas été. C’est assez similaire à la commande précédente, mais dans celle-ci, l’option d’afficher uniquement la liste des services est ajoutée.
D’autres commandes peuvent être, «Systemctl is – active» est utilisé pour savoir quel service est en cours d’exécution. «Systemctl is – enable» est pour les démons qui sont activés ou ceux qui démarrent automatiquement avec le système.
- Avec » Systemctl is – failed «, vous pourrez savoir si un problème est survenu au début d’un service. Si le service ne fonctionne pas, vous recevrez un message à l’écran avec le mot «Échec». En cas d’avoir été pour des raisons inconnues, le message sera «Inconnu» ou «Inactif».
Avec cela, vous savez déjà que Systemd a un grand nombre de commandes, même d’autres qui remplissent des fonctions plus complexes. Vous pouvez même redémarrer, mettre le système en veille prolongée et même surveiller le flux d’énergie consommée. C’est un bon début pour vous de gérer les services système Ubuntu Linux avec Systemctl.
Tout comme le programme Systemctl vous permet de démarrer et d’arrêter un programme, vous pouvez également programmer votre système d’exploitation Linux pour planifier la mise sous et hors tension.