在所有其他初始化脚本启动后立即运行

我正在运行一个CentOS6实例,并有一个依赖于sshd的暴发户作业已经在运行。 但是,当我启动盒作业无法启动,我猜,因为sshd实际上并没有运行。 有没有一种方法可以延缓启动工作,直到所有正常的初始化脚本启动?

我最终弄清楚了这一点。 CentOS6使用upstart作为其init程序,但在/etc/init初始化的一个脚本是rc.conf ,它启动了旧式的rc脚本。 所以,如果你需要你的程序开始后,你可以把:

start on started rc stop on stopped rc

在你的暴发剧本,你应该很好去。

您可以在脚本中使用pidfile /var/run/sshd.pid来检查进程sshd,以确保它正在运行。

  if [ -f /var/run/says.pid]; then "do what you want with your script" fi 

你可以把逻辑放在你可以睡觉的地方,如果没有pid,检查sshd。

只需将您的脚本添加到/etc/rc.d/rc.local。 您的脚本将在所有其他初始化脚本之后执行。