我想在启动时启动一个看门狗踢程序,但不确定如何命名以及在哪里放置我的新贵脚本。
start on startup
respawn
script
/usr/sbin/watchdog
end script
参考:http://upstart.ubuntu.com/cookbook/
我也只是想了解 sysVinit、init.d、rc.local、upstart(最新和最好的?)之间的区别。
似乎有这么多方法来做同一件事的原因是什么,例如:
service watchdog start
/etc/init.d/watchdog start
/usr/sbin/watchdog
答案1
Upstart 系统作业具有.conf
扩展名并放置在/etc/init
。因此,您可以创建/etc/init/watchdog.conf
包含这些行的内容,并且您应该有一个有效的 Upstart 服务定义。
service watchdog start
:该service
命令通常是一个脚本,它选择要使用的正确的 init 服务(即是否运行 Upstart 命令或脚本,或者如果正在使用 systemd 则/etc/init.d
调用)。systemctl
/etc/init.d/watchdog start
直接调用System V init 脚本。如果您要为此使用 Upstart 工作,这不是您想要做的。/usr/sbin/watchdog
只需直接运行二进制文件即可。除非程序守护进程,否则这(恕我直言)仅对调试有用。如果它守护进程,您将失去初始化脚本的监视和控制功能,以及 Upstart 的重生功能。
(2) 之所以存在,是因为人们通常需要一种结构化、可控的方式来启动服务,而 (3) 则无法提供。 (1) 存在是因为 (2) 没有提供足够的功能(这就是 Upstart、systemd、OpenRC 等被创建的原因)。