我想在系统启动时运行 svc 服务(daemontools/supervise)(无需登录)。
如果我手动运行命令(使用 root 权限),服务运行良好:
- /usr/bin/svscan /services/ &(启动监督)
- /usr/bin/svc -u /services/demoservice (启动 demoservice)
但我想在系统启动时运行这些。我在 /etc/rc.local 中创建了条目。第一个命令在启动时启动监督,但第二个命令不起作用。
请帮忙。
答案1
svscan
需要花费一定时间才能启动 s supervise
,而它们又需要花费一定时间才能为svc
随后使用的服务提供控制/状态 API。您不能指望svc -u
在发生这种情况时并行运行的 能够正常工作。 但你不需要svc -u
在 bootstrap 中运行首先,自动启动某些处于运行状态/services
但未配置为关闭的设备。
当 Gerrit Pape 制作了 daemontools-run 包时,您不需要使用旧版本rc.local
。无论如何,以旧rc.local
方式运行的命令是svscanboot
。 然而,您正在使用 Ubuntu Linux,并且已经不需要旧的rc.local
做事方式过去十年。
在 Ubuntu 15 上,使用路径单元和服务单元在 systemd 下运行 svscan。在 Ubuntu 14 上,使用作业文件在 upstart 下运行 svscan。
进一步阅读
- 乔纳森·德·博因·波拉德(2015年)。
/etc/inittab
已成为过去。. 常见问题答案。 - 乔纳森·德·博因·波拉德(2014-09-23)。在 systemd Jessie 中将 daemontools 启动放在哪里?.debian 用户。
- 吉姆·卡罗尔(2006)。DaemontoolsUpstart配置。 Ubuntu 维基。
- 马特·普尔弗(2008-02-15)。Ubuntu upstart 中的 djb daemontools。享受。
- 格里特·帕普。 Debian 守护进程工具. Debian 软件包。
- daemontools 运行. Ubuntu 14.04 软件包。
- 丹尼尔·J·伯恩斯坦。 该
svscanboot
程序.守护进程。 - 布鲁斯·冈特。
svscanboot
.daemontools-encore。