所以我正在尝试编写一些满足LSB的init.d脚本,以便它们在启动和关闭时正常运行.不幸的是,我遇到了LSB/update-rc.d以满足依赖性的问题.
# Required-Start: $network $local_fs hadoop-namenode hadoop-datanode zookeeper-server
# Required-Stop: $network $local_fs hadoop-namenode hadoop-datanode zookeeper-server
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
Run Code Online (Sandbox Code Playgroud)
但是,当我运行update-rc.d默认值时,它只会生成所涉及的默认值,其启动时间与已经存在的相同,这会破坏可怕的事情.我是否遗漏了update-rc.d或LSB来配置这个?
如果它是相关的,这是Ubuntu 12.04
And*_*510 12
要使脚本在引导序列中稍后运行,只需在以下命令中添加序列号,如98.然后将满足大多数依赖项.
有一次,我不得不使用依赖于其他启动脚本的启动脚本.这带来了很多麻烦.最后我用这个命令来解决问题:
cd /etc/init.d
sudo update-rc.d my_script defaults 98
Run Code Online (Sandbox Code Playgroud)
在98点来my_script获取序列号98在启动,它看起来就像是从1到99的范围,和大多数其他启动脚本有更小的数字,这样可以保证我的脚本有它的依赖性准备.
顺便说一句,要删除旧脚本,可以使用:
sudo update-rc.d -f my_old_script remove
# -f means 'force'
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
这种方法在某些系统上不再起作用(例如Debian Squeeze).这个数字只是被忽略而没有任何解释.首选方法是:http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
查看"Required-Start:"脚本声明.
| 归档时间: |
|
| 查看次数: |
23389 次 |
| 最近记录: |