有効になっている、または一時的に無効になっているサービスインスタンスを無効にするには、svcadm disable コマンドを使用します。無効になっているインスタンスは再起動できません。最初にインスタンスを有効にする必要があります。
$ svcs -D FMRI
svcs -D コマンドの結果ごとに svcs -l コマンドを使用して、依存関係が必要な依存関係であるかどうかを確認します。
このインスタンスが別のサービスの必要な依存関係になっている場合は、このインスタンスを無効にしないでください。依存関係のグループと restart_on 値については、サービス依存関係の表示を参照してください。
サービスのリスタータが、指定のインスタンスを disabled 状態にしようと試みます。停止メソッドが存在する場合、サービスのリスタータは通常、停止メソッドを実行しようとします。定期的なインスタンスによって契約されたプロセスは永続的に実行されないため、定期的なリスタータはどの停止メソッドも実行しようとしません。定期的なインスタンスは短期のプロセスを実行したあとで、次にスケジュールされた実行時間まで待機します。詳細は、Oracle Solaris 11.3 でのシステムサービスの開発 の 第 3 章, 定期的に実行するサービスの作成を参照してください。
インスタンスは永続的に無効にすることも、一時的に無効にすることもできます。永続的な無効はシステムリブートのあとも持続し、これがデフォルトです。一時的な無効はリブートまでに限り継続します。
$ svcadm disable FMRI
一時的な無効を指定するには、-t オプションを使用します。
$ svcadm disable -t FMRI
現時点ではインスタンスを無効にするが、次回のリブート時に実行する場合は、インスタンスが実行していること (online または degraded の状態) を確認し、一時的にインスタンスを無効にします。インスタンスが一時的に無効になっていることを検証するには、svcs -l コマンドを使用して、enabled 行が次のようになっているか確認します。
enabled false (temporary)
-s オプションを指定すると、svcadm はインスタンスを無効にし、インスタンスが disabled 状態になるまで待機してから戻ります。svcadm コマンドは、インスタンスが disabled 状態に達したとき、またはインスタンスが disabled 状態に達するには管理者の操作が必要だと判断したときに戻ります。
遷移を行うか、遷移を行えないと判断するまでの上限を秒単位で指定するには、-T オプションを -s オプションとともに使用します。
$ svcadm disable -sT 10 FMRI
$ svcs FMRI
次のコマンドは、Generic Security Service rpc/gss がオンライン状態で、rpc/gss サービスに依存しているサービスが無効化されていることを示します。
$ svcs rpc/gss STATE STIME FMRI online Oct_18 svc:/network/rpc/gss:default $ svcs -D rpc/gss STATE STIME FMRI disabled Oct_18 svc:/network/nfs/client:default disabled Oct_18 svc:/network/smb/client:default disabled Oct_18 svc:/network/nfs/server:default
次のコマンドは、依存関係がオンラインの場合であっても、rpc/gss サービスはオプションの依存関係であるため、これら 3 つのいずれかの依存サービスが何らかの理由でリフレッシュまたは停止された場合に rpc/gss サービスを開始する試行は実行されないことを示しています。
$ svcs -l nfs/client smb/client nfs/server | grep rpc/gss dependency optional_all/none svc:/network/rpc/gss (online) dependency optional_all/none svc:/network/rpc/gss (online) dependency optional_all/none svc:/network/rpc/gss (online)
svcadm disable コマンドが成功し、インスタンスは現在 disabled 状態になり、再起動しても失敗します。
$ svcadm disable rpc/gss $ svcs rpc/gss STATE STIME FMRI disabled 12:45:55 svc:/network/rpc/gss:default $ svcadm restart pkg/update:default $ svcs rpc/gss STATE STIME FMRI disabled 12:45:55 svc:/network/rpc/gss:default