当您安装 Alfresco 时,您可以选择是否将其安装为服务。
如果将其安装为服务,该服务会在启动时启动,但由于它使用 Tomcat,因此它太重了,无法作为后台程序保留。另外,它的停止时间比Apache要长很多。
因此,我想将其保留为服务,但默认将其设置为关闭,因此我需要做的就是输入sudo service alfresco start
。
虽然我可以将其设置为不作为服务并编写一两个 bash 脚本,但我想了解有关“服务”在 Linux 中如何工作的更多信息。 Apache 不是问题,但如果知道它的服务参数存储在哪里以及如何更改这些参数,那就太好了。
答案1
“一般”方法是
$ sudo update-rc.d -f servicename remove
删除服务名称从任何运行级别自动启动。
要重新启用默认设置,请执行以下操作
$ sudo update-rc.d servicename defaults
答案2
你可以使用sysv-rc-conf管理运行级别(配置哪些服务应该在哪些运行级别启动)。
这很简单:
- 安装它:
sudo apt-get install sysv-rc-conf
- 运行:
sudo sysv-rc-conf
- 将您的服务标记为在所需的运行级别上启动(2、3、4 和 5 是常规启动,0 是关闭,6 是重新启动)。使用键盘箭头进行导航并使用
space
按键切换复选框。
答案3
默认情况下,Debian 附带 SysVinit。哪些服务在哪些运行级别中执行是通过符号链接控制的/etc/initN.d
(N = 0 到 6,其中 2–5 是正常运行级别;S 表示在引导时启动的服务)。看德米特里·瓦西利亚诺夫和格特夫戴克有关配置这些符号链接的方法的答案。
我喜欢用file-rc
包,它用一个简单的文本文件替换符号链接/etc/runlevel.conf
。
如果您要关闭大量服务,或者想要阻止某个服务在安装或升级时启动(Debian 上的一个已知问题),您可以定义本地服务启动策略。写一个脚本叫/usr/sbin/policy-rc.d
实现了初始化脚本策略你的选择。有关详细信息,请参阅/usr/share/doc/sysv-rc/README.policy-rc.d
您的系统。实施完整的策略需要一些工作,但您可以使简单的案例发挥作用;例如,如果脚本仅包含exit 101
,则不会执行任何 init 脚本(这对于安装在 chroot 中的系统很方便)。