为什么将脚本放入init.d文件夹内且并未注册到systemctl中,但能够使用systemctl启动此脚本

这是因为许多Linux发行版(尤其是基于Systemd的发行版)提供了一个兼容性机制,允许使用systemctl来管理传统的SysV init脚本。

这个兼容性机制是通过systemd-sysv-generator实现的。当这个生成器运行时,它会扫描/etc/init.d目录中的脚本,并为每个脚本创建一个临时的Systemd服务单元文件。这些服务单元文件允许你使用systemctl命令来管理这些脚本,就像它们是真正的Systemd服务一样。

因此,即使你没有显式地为你的脚本创建一个Systemd服务单元文件,并注册到systemctl中,只要你的脚本位于/etc/init.d目录中,并且具有正确的执行权限和格式,你仍然可以使用systemctl命令来启动、停止、重启和查询它的状态。

然而,需要注意的是,使用这种兼容性机制可能不如直接使用Systemd服务单元文件来得灵活和强大。Systemd提供了许多高级功能,如依赖管理、并行启动、资源控制等,这些功能在SysV init脚本中是不可用的。因此,如果你需要利用这些高级功能,或者希望更好地集成到你的系统中,那么建议你编写一个真正的Systemd服务单元文件,并将其注册到systemctl中。

下图中的脚本为tomcat的启动脚本,放在 /etc/rc.d/init.d 内,并未注册到systemctl中,但能使用systemctl启动或停止脚本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值