阻止守护进程在启动时加载

阻止守护进程在启动时加载

我想阻止某些守护进程在启动时加载,特别是 squid3。最好的方法是什么?

答案1

您可以使用查配置用于此目的的实用程序。

sudo apt-get install chkconfig

要检查 squid 的运行级别状态,您可以运行以下命令:

 chkconfig --list | grep squid

这将输出类似下面的内容:

squid           0:off   1:off   2:on    3:on    4:on    5:on    6:off

要在所有运行级别关闭 squid,可以使用以下命令:

sudo chkconfig  squid off

 chkconfig --list | grep squid

squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off

要在特定运行级别关闭 squid,您可以使用以下命令:

 chkconfig  --level 3  squid off

答案2

上述答案对我的 Ubuntu 16.04 不起作用。

以下是它的工作原理:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

尽管你可能会得到如下错误:

insserv:警告:脚本 squid 的当前启动运行级别(空)覆盖了 LSB 默认值(2 3 4 5)。

insserv:警告:脚本“squid”的当前停止运行级别(0 1 2 3 4 5 6)覆盖了 LSB 默认值(0 1 6)。insserv:fopen(.depend.stop):权限被拒绝

即使重启后,服务仍保持停止状态。

如果您知道错误发生的原因以及如何修复它,请随时评论或编辑答案。

答案3

系统守护进程可以使用旧的 SysV 启动脚本或较新的 Upstart。

对于 sysv 脚本,有几种管理工具,其中一个工具是“sysv-rc-conf”包中的“sysv-rc-conf”,安装它并从终端启动它。

关于 Upstart 据我所知目前还没有管理工具,您需要从 /etc/init 手动重命名相应的脚本,例如:

mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled

Squid3 使用 sysv init 脚本,您可以使用 sysv-rc-conf 禁用它。

答案4

两种最简单的方法(从我的角度来看)。

1)mv /etc/init/squid3.conf /etc/init/squid3.conf.disabled

2)注释掉下面一行

start on runlevel [2345]

/etc/init/squid3.conf

相关内容