在使用systemctl控制一些服务如安装的EMQ时,遇到报错:本文地址:http://www.04007.cn/article/1113.html,未经许可,不得转载.
test@test:~# systemctl enable emqx Executing: /lib/systemd/systemd-sysv-install enable emqx emqx.service is not a native service, redirecting to systemd-sysv-install. test@test:~# systemctl list-unit-files | grep emq emqx.service generated查询发现这个服务的状态是即不是enable也不是disenable,是generated。在其官方文档提示:This script is called by “systemctl enable/disable” when the given unit is a SysV init.d script. It needs to call the distribution’s mechanism for enabling/disabling those, such as chkconfig, update-rc.d, or similar。当给定单元是SysV init时,该脚本由“systemctl enable/disable”调用。init.d脚本。它需要调用发行版的机制来启用/禁用这些功能,例如chkconfig, update-rc.d,等。本文地址:http://www.04007.cn/article/1113.html,未经许可,不得转载.
说明Systemd只是包装了一下这个服务,可以使用systemctl status emqx查看这个服务的状态,但不能对其进行管理,管理还是需要使用chkconfig, update-rc.d等。很有可能之前你已经执行过了如update-rc.d命令将其加入到了开机自启动服务中。检查服务器上是否安装了chkconfig,如果有可以使用它来管理。我这里发现没有安装,并且发现这个服务已经是开机自启状态。然后排查update-rc.d的内容发现已经在update-rc.d中添加了配置。在/etc/rc3.d/目录中已经存在了emqx启动项。本文地址:http://www.04007.cn/article/1113.html,未经许可,不得转载.
update-rc.d是一个Perl脚本,是用来自动升级System V类型初始化脚本,管理在不同的系统运行级别中启动哪些服务。这些脚本链接位于/etc/rcN.d/下(N代表0~6,0关机/1单用户模式/2多用户模式/3命令行模式等等),对应脚本位于/etc/init.d/下。
#如下为emqx启动项 test@test:~# ll /etc/rc3.d/ rwxrwxrwx 1 root root 14 Jul 5 2021 S01emqx -> ../init.d/emqx #update-rc.d添加到系统启动 update-rc.d mongodb defaults #update-rc.d从系统启动中删除 update-rc.d mongodb remove本文地址:http://www.04007.cn/article/1113.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1113.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |