web-dev-qa-db-ja.com

デーモンツールサービスが停止するのを待っています

daemontools でサービスを実行していますが、TERMシグナルが送信されたときに停止するのに数秒かかります。スクリプトで停止し、プロセスが停止するのを待ってから、LVMスナップショットの取得を続行するか、サービスを再起動する必要があります。

デーモンツールはこれを行う方法を提供しますか?そうでない場合、最善の方法は何ですか? svcokが0で終了する間、スリープすることを考えていましたが、これはより簡単な解決策では一般的な問題のようです。考え?

2
also

私がすでに使用したことを行う方法は、問題を別の方法でとることです。実行スクリプトでは、アプリケーションを実行する前に必要なことを何でも実行できるため、次のことができます。

#!/bin/sh

# backup anything you want
rsync xxxx

exec /path/to/app

その後:

svc -du /path/to/service

アプリケーションを停止し、停止したらバックアップを取り、再起動します。

それはあなたが求めたものではありませんが、同じ目標を果たし、うまく機能します:)

1
Schmurfy