SolarisサービスXMLの場合
正常なシャットダウンを通知するためにkillを使用しています
<exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
これは、SIGTERMの後でほとんど死ぬ子プロセスも強制終了するという事実を除いて、うまく機能します。これらのいずれかが機能します
exec="kill -SIGUSR1 $PID"
を使用できるようにPIDを取得しますPidを把握する必要のある別のスクリプトを設定したくありません。必要に応じてこれを行います。環境変数から取得するか、SMF組み込みコマンドを使用したいと思います。
exec=":kill -USR1"
がそのトリックを行います。 SIG
なし。
method="refresh"
を定義するときにこれを探していました。 jperkinはexec=":kill -HUP"
の彼の例で私をまっすぐに設定しましたが、SmartOSではexec=":kill -SIGHUP"
を使用すると"/sbin/sh[1]: exec: :kill: not found"
になりました。
これは、親と子の両方が同じ契約を結んでいるためです(詳細は「男性契約」)。
「ctrun」(詳細については「manctrun」)を使用してください。これにより、異なるコントラクトの下で子プロセスが作成されます。これを行うと、親が殺されているときに子供が殺されるのを防ぐことができます。
exec="kill -SIGUSR1"
。