daemontools でサービスを実行していますが、TERMシグナルが送信されたときに停止するのに数秒かかります。スクリプトで停止し、プロセスが停止するのを待ってから、LVMスナップショットの取得を続行するか、サービスを再起動する必要があります。
デーモンツールはこれを行う方法を提供しますか?そうでない場合、最善の方法は何ですか? svcokが0で終了する間、スリープすることを考えていましたが、これはより簡単な解決策では一般的な問題のようです。考え?
私がすでに使用したことを行う方法は、問題を別の方法でとることです。実行スクリプトでは、アプリケーションを実行する前に必要なことを何でも実行できるため、次のことができます。
#!/bin/sh
# backup anything you want
rsync xxxx
exec /path/to/app
その後:
svc -du /path/to/service
アプリケーションを停止し、停止したらバックアップを取り、再起動します。
それはあなたが求めたものではありませんが、同じ目標を果たし、うまく機能します:)