延迟启动服务

延迟启动服务

我想在启动时延迟启动服务。Ubuntu Server 15.10

我已经创建了文件 /startup-tvheadend.sh (chmod +x)

/bin/bash #!/bin/bash
睡眠 20 && 服务 tvheadend 启动;

然后在 crontab -e

@reboot/startup-tvheadend.sh

以 sudo 方式运行脚本是可行的,但是当我重新启动时计算机。我已禁用安装后的默认自动启动。

kidkic@TvHeadEnd:~$ systemctl status tvheadend
● tvheadend.service - (空)
   已加载:已加载(/etc/init.d/tvheadend)
   活跃:不活跃(死亡)
     文档:man:systemd-sysv-generator(8)

答案1

由于您正在使用systemctl status tvheadend,我猜您还应该使用 systemdsystemctl而不是 upstart 的service命令来启动此服务:

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

答案2

在 systemd 配置文件中添加 sleep 更简单。例如,为了延迟 bind9 启动,我们可以编辑(在 Ubuntu 16.04 上)/lib/systemd/system/bind9.service并添加执行开始前命令。(见https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files

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

相关内容