有时我的服务器通过 ACPI 关闭而关闭,我设法让我的进程正常关闭。但是,我的进程(作业 A)在正常关闭期间依赖于另一个进程(作业 B),所以我现在要确保作业 B 在作业 A 停止之前不会停止。
这两个进程都是 Upstart 作业,因此我尝试通过将其添加到作业 B 的 /etc/init 文件来执行此操作:
# Don't stop until job A stops
pre-stop script
while true
do
status A | grep -q "stop/waiting" && exit 0
sleep 1
done
end script
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用;当我通过 ACPI 关闭我的服务器时,作业 B 通常在作业 A 之前关闭,这样作业 A 就会吐出关于作业 B 没有启动的错误消息。
我的脚本有问题吗?我应该采取另一种方法吗?还是不可能用 Upstart 做我想做的事?
相关问题:如何在工作依赖之前停止工作?
您可以在作业 A 中使用这些选项:
在依赖的服务之前停止
stop on stopping B
Run Code Online (Sandbox Code Playgroud)在依赖服务后启动
start on started B
Run Code Online (Sandbox Code Playgroud)参考: http: //upstart.ubuntu.com/cookbook/#stop-on
| 归档时间: |
|
| 查看次数: |
1591 次 |
| 最近记录: |