Como você está usando systemctl status tvheadend , eu acho que você também deve usar o comando systemctl do systemd em vez do comando service do upstart para iniciar este serviço:
#!/bin/bash
sleep 20 && systemctl start tvheadend;
Eu quero atrasar o início de um serviço na inicialização. Servidor Ubuntu 15.10
Eu criei o arquivo /startup-tvheadend.sh (chmod + x)
#!/bin/bash sleep 20 && service tvheadend start;
Em seguida, em crontab -e
@reboot /startup-tvheadend.sh
Executando o script como o sudo funciona, mas não quando eu reinicio o computador. Eu desativei o início automático padrão após a instalação.
kidkic@TvHeadEnd:~$ systemctl status tvheadend
● tvheadend.service - (null)
Loaded: loaded (/etc/init.d/tvheadend)
Active: inactive (dead)
Docs: man:systemd-sysv-generator(8)
Como você está usando systemctl status tvheadend , eu acho que você também deve usar o comando systemctl do systemd em vez do comando service do upstart para iniciar este serviço:
#!/bin/bash
sleep 20 && systemctl start tvheadend;
É mais simples adicionar uma suspensão ao arquivo de configuração do systemd. Por exemplo, para atrasar o bind9 start, podemos editar (no Ubuntu 16.04) /lib/systemd/system/bind9.service e adicionar um comando ExecStarPre . (Veja link )
[Service]
ExecStartPre=-/bin/sleep 5
EnvironmentFile=/etc/default/bind9
Tags startup