如何在init.d中创建脚本稍后运行

安装了一个包/etc/init.d/ccpd ,它是一个在启动时运行的脚本。 我希望这个脚本能够作为最后一个启动脚本运行,我该如何实现?

当您的计算机启动时,它不会直接运行init.d脚本。 相反,根据所谓的“运行级别”,它运行/etc/rcN.d中的脚本(其中N是运行级别)。 您可以使用runlevel命令确定当前运行级别; 我的正常运作中返回2。 这意味着当计算机启动时,它会运行/etc/rc2.d中的脚本。 rc2.d的内容只是/etc/init.d中脚本的符号链接,根据它们是应该启动还是停止来命名,以及它们应该运行的顺序。

使用runlevel命令查找您的计算机所处的运行级别(可能是2),然后在/etc/rc2.d中查找名为SNNccpd的链接,该链接将是/etc/init.d/ccpd的符号链接,并重命名它到S99zzzccpd – 或者让它在其他条目之后进行排序所需要的 – 这将使它最后运行。

有关init.d脚本和运行级别的更多信息, 请访问https://www.linux.com/news/enterprise/systems-management/8116-an-introduction-to-services-runlevels-and-rcd-scripts

您可以将其作为服务从/etc/init.d中删除,而不是将其作为始终保持运行的服务

并制作一个脚本并将其放在/ root / bin或/ usr / local / bin中

在那个剧本里面,

 #!/bin/bash sleep 300 #call your service and run it in background /usr/bin/ccpd & 

启动将继续,你的东西将在5分钟后运行

现在最后一步是让您的脚本在启动时运行,将脚本添加到/ etc / fstab或配置文件

Interesting Posts