如何使Ubuntu服务器在启动时按特定顺序运行服务?
我已经读了一些关于Upstart , init.d和inittab ,我不确定这样做的正确方法是什么。
谢谢,
乌迪
查看命令update-rc.d ,这是标准的Debian / Ubuntu的方式来设置启动和停止服务。 文件/etc/init.d/skeleton也是一个非常好的模板,用于快速和正确地创build自己的服务。
除了新手(我不太了解),订单是由rcX.d目录中的一个数字(其中X是运行级别)确定的。
通常,在Ubuntu中,正常使用是运行级别2.您将脚本放在/etc/init.d/并使用以下语法build立到/etc/rcX.d的符号链接:
如果你的脚本是number42做这个:
$ sudo cp number42 /etc/init.d $ sudo ln -s /etc/init.d/number42 /etc/rc2.d/S99number42
停止它将是相同的,但与K和运行级别0和6。
sysv-rc-conf可以帮助你可视化哪些脚本运行在哪个运行级别上。
sysv-rc-conf http://ubuntu-tweak.com/wp-content/uploads/2007/09/sysv-rc-conf.png
你以特定的顺序提到,但是如果你的意思是你有多个进程,并且你需要它们以一个特定的顺序运行,但是在所有其他的启动时间进程已经启动之后,你可以简单地使用/ etc /rc.local。
只要按照指定的顺序将所有命令放在该文件中,那么在所有其他启动进程启动之后,它将由/ bin / sh执行。 确保您的进程分离,或追加到每行的结尾或您的引导将挂起!
上面的解决scheme更加健壮,这种方式更加快捷。