Mediocre Gopher Asked: 2013-08-25 06:57:59 +0800 CST2013-08-25 06:57:59 +0800 CST 2013-08-25 06:57:59 +0800 CST 在所有其他初始化脚本启动后运行 upstart 772 我正在运行一个 CentOS6 实例,并且有一个依赖 sshd 已经在运行的新贵工作。但是,当我启动该作业无法启动的盒子时,我猜是因为 sshd 实际上还没有运行。有没有办法可以延迟新贵作业的开始,直到所有正常的初始化脚本都开始? linux 3 个回答 Voted Best Answer Mediocre Gopher 2013-08-25T08:06:04+08:002013-08-25T08:06:04+08:00 我最终弄清楚了这一点。CentOS6 使用 upstart 作为它的 init 程序,但它初始化的脚本之一/etc/init是rc.conf,它启动了老式的 rc 脚本。因此,如果您需要在这些程序之后启动程序,您可以放置: start on started rc stop on stopped rc 在你的新贵脚本中,你应该很高兴。 Danila Ladner 2013-08-25T07:27:13+08:002013-08-25T07:27:13+08:00 您可以在脚本中使用 pidfile /var/run/sshd.pid 检查进程 sshd 以确保它正在运行。 if [ -f /var/run/says.pid]; then "do what you want with your script" fi 如果 pid 尚不存在,您可以在检查 sshd 后将逻辑放在您可以睡觉的地方。 ALex_hha 2013-08-25T08:44:49+08:002013-08-25T08:44:49+08:00 只需将您的脚本添加到 /etc/rc.d/rc.local。您的脚本将在所有其他初始化脚本之后执行。
我最终弄清楚了这一点。CentOS6 使用 upstart 作为它的 init 程序,但它初始化的脚本之一
/etc/init
是rc.conf
,它启动了老式的 rc 脚本。因此,如果您需要在这些程序之后启动程序,您可以放置:start on started rc stop on stopped rc
在你的新贵脚本中,你应该很高兴。
您可以在脚本中使用 pidfile /var/run/sshd.pid 检查进程 sshd 以确保它正在运行。
如果 pid 尚不存在,您可以在检查 sshd 后将逻辑放在您可以睡觉的地方。
只需将您的脚本添加到 /etc/rc.d/rc.local。您的脚本将在所有其他初始化脚本之后执行。