linux:service

Services Linux

systemctl affiche réellement tous les services, à la différence de service.

sudo systemctl list-units
sudo systemctl status service_name.service
sudo systemctl restart service_name.service
/etc/systemd/system/gunicorn.service
[Unit]
Description=Launch gunicorn to run web plateform
 
[Service]
Type=simple
User=root
ExecStart=/home/user/start_gunicorn.sh
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

L'exécutable de ExecStart doit être un chemin absolu (python3 ne suffit pas !).

Enregistrer le service:

sudo systemctl enable gunicorn.service

Voir le statut du service:

sudo service gunicorn status

Redémarrer le service:

sudo service gunicorn restart

Ce genre de service n'apparaît pas dans le résultat de la commande service –status-all, car cette commande ne renvoie que les services qui ont un script init.d.

Après modification d'un service, exécuter la commande:

sudo systemctl daemon-reload

Et redémarrer le service.

Source

journalctl -u service-name.service

Le service B a besoin du service A. Le démarrage du service B provoque donc le démarrage du service A. Dans le fichier du service B:

[Unit]
Description=...
Wants=service-a.service

Système équivalents aux crons.

Tout se trouve dans /etc/systemd/system/.

Lister tous les timers:

systemctl list-timers

Arrêter un timer:

systemctl stop certbot.timer

Désactiver un timer (ne se relancera pas aux prochains redémarrages):

systemctl disable certbot.timer
sudo systemctl edit <service>

Là, réécrire le fichier de service, en ne laissant que les valeurs modifiées (il faut qu'il y ait les [Service]).

Par défaut, un service doit démarrer en moins de 90 secondes.

Il est possible de changer cette valeur :

[Service]
TimeoutStartSec=180
sudo systemctl show elasticsearch | grep ^Timeout
  • linux/service.txt
  • Dernière modification : 2025/05/25 19:30
  • de phsw