Ubuntu服务器:在启动时运行进程

如何使Ubuntu服务器在启动时按特定顺序运行服务?

我已经读了一些关于Upstartinit.dinittab ,我不确定这样做的正确方法是什么。

谢谢,

乌迪

查看命令update-rc.d ,这是标准的Debian / Ubuntu的方式来设置启动和停止服务。 文件/etc/init.d/skeleton也是一个非常好的模板,用于快速和正确地创build自己的服务。

除了新手(我不太了解),订单是由rcX.d目录中的一个数字(其中X是运行级别)确定的。

通常,在Ubuntu中,正常使用是运行级别2.您将脚本放在/etc/init.d/并使用以下语法build立到/etc/rcX.d的符号链接:

  • S开始或K停止服务
  • 一个两位数字的执行顺序(越小越快)
  • 脚本的名称

如果你的脚本是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更加健壮,这种方式更加快捷。