Question Retarder le service de démarrage


Je veux retarder le démarrage d'un service au démarrage. Ubuntu Server 15.10

J'ai créé le fichier /startup-tvheadend.sh (chmod + x)

#! / bin / bash
sleep 20 && service tvheadend start;

Puis à crontab -e

@reboot /startup-tvheadend.sh

Exécuter le script en tant que sudo fonctionne mais pas quand je redémarre l'ordinateur. J'ai désactivé le démarrage automatique par défaut après l'installation.

kidkic @ TvHeadEnd: ~ $ systemctl status tvheadend
● tvheadend.service - (null)
   Chargé: chargé (/etc/init.d/tvheadend)
   Actif: inactif (mort)
     Docs: man: systemd-sysv-generator (8)

3
2017-12-20 12:40


origine


Le service démarre-t-il automatiquement? modifier votre message pour ajouter la sortie de systemctl status tvheadend. - muru
Est-ce que ce pourrait être un cas simple de noms de chemins relatifs? En particulier, service est dans /usr/sbin/ et start est dans /sbin - quels IIRC ne sont pas dans le chemin par défaut de cron - steeldriver
Ne devriez-vous pas aussi utiliser systemctl start tvheadend? - s3lph
Yeay. the_seppi, ça a fait l'affaire! - roady
@ the_Seppi vous pourriez poster cela comme une réponse. - muru


Réponses:


Comme vous utilisez systemctl status tvheadend, Je suppose que vous devriez également utiliser les systemd systemctl au lieu des nouveaux service commande pour démarrer ce service:

#!/bin/bash 
sleep 20 && systemctl start tvheadend;

2
2017-12-20 23:13





Il est plus simple d'ajouter une veille au fichier de configuration systemd. Par exemple, pour retarder le démarrage de bind9, nous pouvons modifier (sur Ubuntu 16.04) /lib/systemd/system/bind9.service et ajoutez un ExecStarPre commander. (Voir https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files )

[Service]
ExecStartPre=-/bin/sleep 5
EnvironmentFile=/etc/default/bind9

0
2018-05-30 15:10