Ubuntu12.04:如何在启动时禁用守护进程

Ubuntu12.04:如何在启动时禁用守护进程

我通常使用service start/stopinitctl start/stop来启动或停止守护进程,但现在我正在寻找的是禁用守护进程在启动时启动示例mysqld

目前我正在做的事情是重命名/etc/init/mysql.conf/etc/init/mysql.conf.bak,但在阅读了一些相关内容后,systemd我发现它enable & disable为上述任务提供了选项。

那么,ubuntu 12.04 中是否有类似的东西upstart

答案1

您可以通过运行以下命令来禁用服务:

sudo update-rc.d -f <service name> disable

手册页摘抄:

当使用禁用 [ S|2|3|4|5 ] 选项运行时, update-rc.d 通过将启动链接重命名为序列号相等的停止链接来修改脚本 /etc/init.d/name 的现有运行级别链接100 减去原始序列号的差值。

答案2

禁用和启动服务的正确方法是创建一个 XX.override 文件,

echo 'manual' > /etc/init/mysqld.override

这样 upstart 服务就不会自动启动

答案3

@warl0ck 说得对;想要补充的是,这些信息在 Upstart 文档中记录得很好:http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting

具体来说:

使用 Upstart 1.3,您可以利用覆盖文件和手动节以更简单的方式实现相同的结果 [27]:

# echo "manual" >> /etc/init/myjob.override

请注意,您可以通过这样做来达到相同的效果:

# echo "manual" >> /etc/init/myjob.conf

但是,使用覆盖工具意味着您可以保持原始作业配置文件不变。

要恢复到原始行为,请删除或重命名覆盖文件(或从“.conf”文件中删除手动节)。

答案4

尝试导航到/etc/rc2.d并重命名您想要的内容不是要在启动时运行:将(首字母大写)“S”更改为“K”(例如,S02mysql改为K02mysql)。如果你改变主意,只需扭转它即可。我认为 2 指的是运行级别,在这种情况下 2 是默认的多用户运行级别。也许这是您拥有大部分日常计算机使用的东西的地方。

编辑:阅读下面詹姆斯·奥戈尔曼的评论。

相关内容