启动时从 svc 服务运行服务

启动时从 svc 服务运行服务

我想在系统启动时运行 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。

进一步阅读

相关内容