我想阻止某些守护进程在启动时加载,特别是 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