我在/ opt中有一个samba挂载。我在init.d中有一个名为sysinit的脚本,该脚本链接到rc6.d.这会在重新启动时调用(首先,我将其设置为K01sysinit)并且它应该卸载/ opt目录。但是,在重新启动时,我发现rc.sysinit文件中的命令失败了。当我手动运行我的sysinit脚本然后重新启动时,一切正常。我是否遇到某种竞争条件,其中rc.sysinit umount命令在其他脚本完成卸载/ opt之前运行,或者是其他事情还在继续?或者我不明白运行级别如何工作?我认为重启时发生的事情是rc6.d中的内容先运行然后从rc.sysinit卸载。
答案 0 :(得分:1)
我找到的解决方案是我需要在/ var / lock / subsys中创建一个锁文件,以便rc.sysinit文件知道我创建的服务是"运行"。如果没有它,它将永远不会创建必要的KXXsysinit符号链接,以便我的脚本将使用" stop"关机或重启时的命令。