Commandes Linux : systemctl

SYSTEMCTL

Installé avec le paquet systemd
Voir aussi : service et chkconfig

 

Afficher la version de la commande systemctl

systemctl --version

ou

apt-cache policy systemd

 

Action sur un service

systemctl action service.service

ou

systemctl action service

action prend les valeurs suivantes :

  • status : affiche le status du service spécifié
  • start : démarre le service spécifié
  • stop : arrête le service spécifié
  • restart : redémarre le service spécifié
  • reload : recharge le service spécifié après modification de son fichier de configuration
  • enable : lancera le service spécifié automatiquement au démarrage du système
  • disable : le service spécifié devra être démarré manuellement, il ne se lancera pas au démarrage du système
  • mask : le service spécifié ne peut plus être démarré tant qu’il n’est pas démasqué
  • unmask : démasque le service spécifié, ce dernier pouvant être alors à nouveau démarré
  • kill : arrête un service et tous ses processus

ex :

# systemctl status sshd.service
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
   Active: inactive (dead) since ven. 2016-12-09 13:18:48 CET; 8s ago
 Main PID: 2802 (code=exited, status=0/SUCCESS)

déc. 09 12:33:53 snipeit systemd[1]: Starting OpenBSD Secure Shell server...
déc. 09 12:33:53 snipeit systemd[1]: Started OpenBSD Secure Shell server.
déc. 09 12:33:53 snipeit sshd[2802]: Server listening on 0.0.0.0 port 22.
déc. 09 12:33:53 snipeit sshd[2802]: Server listening on :: port 22.
déc. 09 13:18:48 snipeit systemd[1]: Stopping OpenBSD Secure Shell server...
déc. 09 13:18:48 snipeit systemd[1]: Stopped OpenBSD Secure Shell server.
# systemctl start sshd.service
# systemctl status sshd.service
 ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
   Active: active (running) since ven. 2016-12-09 13:19:03 CET; 3s ago
 Main PID: 3233 (sshd)
   CGroup: /system.slice/ssh.service
           └─3233 /usr/sbin/sshd -D

déc. 09 13:19:03 snipeit systemd[1]: Started OpenBSD Secure Shell server.
déc. 09 13:19:03 snipeit sshd[3233]: Server listening on 0.0.0.0 port 22.
déc. 09 13:19:03 snipeit sshd[3233]: Server listening on :: port 22.

 

Afficher tous les services actifs et leur état actuel

systemctl list-units --type=service

ex :

[...]
exim4.service                      loaded active running LSB: exim Mail Transport Agent
gdm.service                        loaded active running GNOME Display Manager
gdomap.service                     loaded active exited  LSB: Start the GNUstep distributed ob
getty@tty1.service                 loaded active running Getty on tty1
ifup@eth0.service                  loaded active exited  ifup for eth0
[...]
rdnssd.service                     loaded active running LSB: IPv6 Recursive DNS Server discov
resolvconf.service                 loaded active exited  Nameserver information manager
rpcbind.service                    loaded active running LSB: RPC portmapper replacement
rsyslog.service                    loaded active running System Logging Service
[...]

 

Afficher tous les services et leur statut au démarrage

systemctl list-unit-files --type=service

ex :

accounts-daemon.service                    enabled 
acpid.service                              disabled
alsa-restore.service                       static  
alsa-state.service                         static  
alsa-store.service                         static  
alsa-utils.service                         masked
anacron-resume.service                     enabled 
[...]
vsftpd.service                             enabled 
wacom-inputattach@.service                 static  
wpa_supplicant.service                     disabled
x11-common.service                         masked

Rmq :
La commande systemctl enable service génère un lien symbolique (par runlevel) pointant vers le script d’initialisation du service se trouvant dans /etc/init.d/, par exemple pour Apache2 :

# find / -name [SK]??apache2 -print0 | xargs -0 file
/etc/rc0.d/K01apache2: symbolic link to ../init.d/apache2
/etc/rc1.d/K01apache2: symbolic link to ../init.d/apache2
/etc/rc2.d/S03apache2: symbolic link to ../init.d/apache2
/etc/rc3.d/S03apache2: symbolic link to ../init.d/apache2
/etc/rc4.d/S03apache2: symbolic link to ../init.d/apache2
/etc/rc5.d/S03apache2: symbolic link to ../init.d/apache2
/etc/rc6.d/K01apache2: symbolic link to ../init.d/apache2

De même systemctl disable service génère un lien symbolique (par runlevel) vers ce script permettant l’arrêt du service pour tous les runlevels :

# find / -name [SK]??apache2 -print0 | xargs -0 file
/etc/rc0.d/K01apache2: symbolic link to ../init.d/apache2
/etc/rc1.d/K01apache2: symbolic link to ../init.d/apache2
/etc/rc2.d/K01apache2: symbolic link to ../init.d/apache2
/etc/rc3.d/K01apache2: symbolic link to ../init.d/apache2
/etc/rc4.d/K01apache2: symbolic link to ../init.d/apache2
/etc/rc5.d/K01apache2: symbolic link to ../init.d/apache2
/etc/rc6.d/K01apache2: symbolic link to ../init.d/apache2
Fermer le menu
%d blogueurs aiment cette page :