Go to main content
Oracle® Solaris 11.3 でのシステムサービスの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

サービス構成の再読み取り

次の方法を使用してサービス構成を変更できます。

  • svccfg setprop コマンドを使用します。

  • サービスマニフェストファイルを編集します。

  • プロファイルを編集するか、サービスに関連付けられた新しいプロファイルを提供します。

サービス構成を変更するか新しい構成を提供する場合、実行中のスナップショットにはこれらの変更は即座に反映されません。構成の変更を適用するには、サービスインスタンスをリフレッシュします。この実装によって、複数のサービスに対して複数の変更を行なって、一度にすべての変更を適用できます。

svccfg setprop コマンドを使用して行なった変更を適用するには、svcadm refresh または svccfg refresh コマンドのどちらかを使用する必要があります。サービスインスタンスは、refresh メソッドが必要であり、online または degraded 状態になっている必要があります。

マニフェストファイルまたはプロファイルの変更または追加によって行われた変更を適用するには、svcadm refresh または svccfg refresh コマンドのどちらかを使用することも、manifest-import サービスを再起動することもできます。サービスインスタンスは online または degraded 状態になっている必要があります。manifest-import サービスは、マニフェストまたはプロファイルが変更されたすべての実行中のインスタンスの構成を更新します。manifest-import サービスは、svccfg setprop コマンドを使用して行われた構成変更を適用しません。manifest-import サービスを手動で再起動することに加えて、システムのブートおよび多くの pkg 操作でも manifest-import サービスが再起動します。

svcadm refresh および svccfg refresh コマンドはどちらも次の手順を実行します。

  1. 実行中のスナップショットに編集中のプロパティーをコミットする、新しい実行中のスナップショットを作成します。

  2. リフレッシュメソッドが存在し、インスタンスが online または degraded の状態になっている場合に、インスタンスのリフレッシュメソッドを実行します。リフレッシュメソッドは、変更が行われたことをアプリケーションに通知する必要があります。リフレッシュメソッドは、実行中のスナップショットからプロパティー値を再読み取りする場合があります。リフレッシュメソッドが存在しない場合でも、実行中のスナップショット内の構成は更新されます。

    定期的なリスタータは、リフレッシュメソッドを実行しようとしません。定期的なインスタンスがリフレッシュされると、定期的なリスタータは、Oracle Solaris 11.3 でのシステムサービスの開発 の サービス構成リポジトリへの定期的なサービスデータの格納の説明に従って、periodic プロパティーグループのプロパティーの値を再読み取りします。

svcadm refresh コマンドはサービスインスタンス上で動作します。svccfg refresh コマンドはサービスインスタンスまたは親サービス上で動作します。サービスが指定されている場合、svccfg refresh コマンドは、そのサービスのすべてのインスタンスをリフレッシュします。サービスインスタンスのスナップショットだけが取得され親サービスのスナップショットは取得されませんが、親サービスのプロパティーはサービスインスタンスに継承されます。変更された親サービスのプロパティーは、インスタンスがこれらの変更をオーバーライドしない場合、サービスインスタンスのスナップショットに表示されます。

依存関係の変更など、一部の変更は即座に有効になります。その他の変更は、サービスの再起動に説明しているように、サービスが再起動するまで有効になりません。アプリケーションの実行中に行えない変更には、再起動後のリフレッシュが必要です。アプリケーションの実行中に行えない変更にはたとえば、ソケットの開閉や環境変数のリセットなどがあります。

svcadm refresh コマンドとともに -s オプションを指定すると、svcadm はインスタンスをリフレッシュし、インスタンスが onlinedegraded、または maintenance の状態になるまで待機してから戻ります。svcadm コマンドは、インスタンスがこれらのいずれかの状態に達したとき、またはインスタンスがこれらのいずれかの状態に達するには管理者の操作が必要だと判断したときに戻ります。遷移を行うか、遷移を行えないと判断するまでの上限を秒単位で指定するには、-T オプションを -s オプションとともに使用します。