【发布时间】:2014-03-03 11:41:54
【问题描述】:
我有一个程序,我正在为/etc/init.d 编写脚本。
问题是,程序不会自行去恶魔化。启动它需要大约 5 秒,当它初始化后,它会在标准输出中打印一个字符串(“Started OK”)。
我正在寻找启动该过程的脚本,等待一段时间字符串出现,然后然后继续脚本,指示失败或成功(找到字符串)。
显然这不能如我所愿。
daemon $PROGRAM &
相当
(./proc > some_output) &
poll_output_for "Started OK" 10 secs or die
【问题讨论】:
-
我猜你没有访问这个程序的源代码?我在使用 wpa_supplicant 和 dhcpcd 时遇到了类似的情况,我做了一个丑陋的解决方案来轮询 wpa_supplicant 的状态,因为幸运的是它有 wpa_cli,当那个返回成功时,我继续。
-
如果一切都失败了,你可以做
./program & sleep 10。这将使程序有时间启动。但是您将无法以这种方式检测故障。我将其发布为评论而不是答案,因为它只是一种解决方法而不是真正的答案。