ubuntu 14.04 /etc/init.d/ vs/etc/init /启动时启动服务

Mic*_*ael 22 ubuntu-14.04

根据我的理解,/ etc/init.d目录包含init在引导时执行的脚本.这仅适用于Debian或Ubuntu 14.04吗?

我想知道因为我在init.d目录中有几个脚本,但它们似乎在服务器启动时不运行.有检查日志吗?

例如,当我安装supervisor(apt-get install supervisor)时,它创建了一个init脚本,/etc/init.d/supervisor其中应该启动它,但是当我启动服务器时,supervisor不会运行.我有一些其他的例子,所以它似乎与主管脚本无关.

另外,/etc/init.d和之间有什么区别etc/init?我很迷惑.

谢谢

lxg*_*lxg 31

在这些脚本/etc/init.d/是控制服务的脚本.控制意味着他们负责启动,停止和类似的操作.

它们不会在启动时自动执行.相反,您必须将脚本分配给运行级别,这是通过update-rc.d基于Debian的系统(Ubuntu)上的命令完成的.

例如,要将您的超级用户服务添加到所有默认运行级别,您将执行

sudo update-rc.d supervisor defaults
Run Code Online (Sandbox Code Playgroud)

另外,你要求/etc/init.d和之间的区别/etc/init:

  • /etc/init.d 包含服务脚本,
  • /etc/init包含这些脚本的配置(描述.依赖项,后/前操作).然而,IIRC,/etc/init特定于SysV init.

  • 这个答案对我来说似乎是错误的信息.是不是`/ etc/init`部分的upstart和`/ etc/init.d /`旧的Sys V Init? (7认同)
  • 哦,好的,那我误解了初始化脚本的目的。当我阅读主管文档时,听起来好像使用init脚本将使supervisord在启动时自动运行:http://supervisord.org/running.html#running-supervisord-automatically-on-startup我尝试了```sudo update-rc.d`命令,但我得到此消息`/etc/init.d/supervisor的系统启动/停止链接已经存在。'' 为什么不起作用? (2认同)