(daemon-behavior)= # デーモンの動作 この仕様書は Incus デーモンの振る舞いの一部を取り扱います。 ## 起動 起動する度に Incus はディレクトリー構造が存在することをチェックします。 もし存在しない場合は、必要なディレクトリーを作成し、キーペアを生成し、データベースを初期化します。 ひとたびデーモンが動作の準備が出来ると、 Incus はデータベース内のインスタンスのテーブルから対象のテーブルを検索し、電源状態が実際の状態と異なっていないかを確認します。 もしインスタンスの電源状態が稼働中と記録されているのにインスタンスが稼働していない場合は Incus はそのインスタンスを開始します。 ## シグナル処理 ### `SIGINT`, `SIGQUIT`, `SIGTERM` これらのシグナルについては Incus は一時的に停止し、後に再開してインスタンスの処理を継続することを想定しています。 インスタンスは稼働し続けて Incus はすべての接続を閉じ、クリーンな状態で終了するでしょう。 ### `SIGPWR` Incus にホストがシャットダウンしようとしていることを伝えます。 Incus はすべてのインスタンスをクリーンにシャットダウンしようと試みます。 30 秒後、Incus は残りのインスタンスを kill します。 ホストがリブート完了後に Incus がインスタンスを元の状態に戻せるように、データベース内のインスタンスのテーブルの`power_state`カラムにインスタンスの元の電源状態を記録しておきます。 ### `SIGUSR1` メモリープロファイルを`--memprofile`で指定したファイルにダンプします。