Answers:
根据您的发行版,使用chkconfig或update-rc.d工具来启用/禁用系统服务。
在redhat / suse / mandrake样式系统上:
sudo chkconfig apache2 off
在Debian上:
sudo update-rc.d -f apache2 remove
查阅他们的手册页以获取更多信息。
如果您使用的是现代Ubuntu系统和其他发行版,则可能需要结合使用传统的初始化脚本和暴发户脚本。其他答案涵盖了管理初始化脚本。以下是一种阻止启动时启动新贵服务的方法:
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
此方法的问题在于它不允许您使用以下方法启动服务:
# service start servicename
替代方法是servicename.conf
在您喜欢的编辑器中打开文件,并注释掉以下列开头的所有行:
start on
也就是说,将其更改为
#start on ...
“ ...”是先前“开始”之后的位置。这样,当您要重新启用它时,您不必记住“开始”参数是什么。
最后,如果您有新版本的新贵,您只需在配置文件的末尾添加单词“ manual”。您可以直接从外壳执行此操作:
# echo "manual" >> /etc/init/servicename.conf
这将导致新贵将忽略文件中较早的任何“开始”短语。
在最新的Fedora和Future RHEL系统上
systemctl disable httpd.service
将禁用httpd服务
systmctl
命令运行良好。
列出所有启动服务
systemctl
在启动时停止服务运行
sudo systemctl disable servicename
例如,如果我们需要在启动时停止运行ssh服务器
sudo systemctl disable sshd.service
我们可以使用
sudo systemctl enable sshd.service
几乎每个Linux发行版都使用systemd来引导启动服务。因此上述命令适用于大多数发行版。
与上面给出的Ubuntu和Redhat风格示例不同,Slackware和Arch Linux在启动时具有类似的停止/启动进程的方法。
在Slackware和Arch Linux中,sh脚本都存在于目录中/etc/rc.d
,通常每个守护程序一个脚本,或者每个子系统一个脚本。
例如,Slackware使用脚本启动Apache Web服务器,该脚本/etc/rc.d/rc.httpd
在系统启动期间的适当时间以“ start”作为参数调用。Arch linux具有不同名称的脚本,但是同样的事情还在进行。
为了防止在系统启动期间启动某些进程,请在Slackware上仅使/etc/rc.d中的相应脚本不可执行。为了防止Apache在下次启动时启动:
chmod -x /etc/rc.d/rc.httpd
要停止启动时启动的Apache: /etc/rc.d/rc.httpd stop
您需要是root用户。
Arch有点复杂。/etc/rc.conf文件是一个外壳脚本,具有数组DAEMONS。为了防止Apache在启动时启动,请在/etc/rc.conf中更改此行:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd httpd ntpd postgresql)
到这行:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd ntpd postgresql)
要停止已经执行的apache,您/etc/rc.d/httpd stop
将以root身份执行。
在Ubuntu 10.04上,您可以从GUI控制一些启动程序。
System→交通Preferences→交通Startup Applications
1)轻按键盘上的超级键2)搜索“启动应用程序” 3)选择要禁用的程序4)如果遇到问题,请按此答案进行操作。