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