如何命名以及放置 upstart 脚本的位置?

如何命名以及放置 upstart 脚本的位置?

我想在启动时启动一个看门狗踢程序,但不确定如何命名以及在哪里放置我的新贵脚本。

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 服务定义。

  1. service watchdog start:该service命令通常是一个脚本,它选择要使用的正确的 init 服务(即是否运行 Upstart 命令或脚本,或者如果正在使用 systemd 则/etc/init.d调用)。systemctl
  2. /etc/init.d/watchdog start直接调用System V init 脚本。如果您要为此使用 Upstart 工作,这不是您想要做的。
  3. /usr/sbin/watchdog只需直接运行二进制文件即可。除非程序守护进程,否则这(恕我直言)仅对调试有用。如果它守护进程,您将失去初始化脚本的监视和控制功能,以及 Upstart 的重生功能。

(2) 之所以存在,是因为人们通常需要一种结构化、可控的方式来启动服务,而 (3) 则无法提供。 (1) 存在是因为 (2) 没有提供足够的功能(这就是 Upstart、systemd、OpenRC 等被创建的原因)。

相关内容