SMFでは、'FMRI'と呼ばれる「管理リソース識別子」を使用してサービスの起動・停止などの状態を管理します。
FMRIは、svcsコマンドを打った際に出力される以下のような記述(例えば、以下の”svc:/system/svc/restarter:default”等)の事を指します。
$ svcs online 3月_31 svc:/system/svc/restarter:default online 3月_31 svc:/system/filesystem/root:default online 3月_31 svc:/network/loopback:default online 3月_31 svc:/system/boot-archive:default online 3月_31 svc:/network/physical:default online 3月_31 svc:/system/filesystem/usr:default ~以下、省略~
$ svcs
$ svcs -a
$ svcs -p ~省略~ online 3月_31 svc:/milestone/sysconfig:default online 3月_31 svc:/system/system-log:default 3月_31 15272 syslogd online 3月_31 svc:/system/utmp:default 3月_31 15276 utmpd online 3月_31 svc:/system/sac:default 3月_31 15314 sac 3月_31 15323 ttymon online 3月_31 svc:/network/inetd:default 3月_31 15291 inetd online 3月_31 svc:/system/console-login:default 3月_31 15341 ttymon online 3月_31 svc:/application/print/ppd-cache-update:default
$ svcs -l svc:/network/inetd:default fmri svc:/network/inetd:default name inetd 有効 true 状態 online next_state none state_time 2008年03月31日 13時35分23秒 logfile /var/svc/log/network-inetd:default.log リスタータ svc:/system/svc/restarter:default contract_id 204392 dependency require_any/error svc:/network/loopback (online) dependency require_all/error svc:/system/filesystem/local (online) dependency optional_all/error svc:/milestone/network (online) dependency optional_all/error svc:/network/rpc/bind (online) dependency optional_all/none svc:/network/inetd-upgrade (disabled) dependency require_all/none svc:/milestone/sysconfig (online) svc:/milestone/name-services (online)
→サービスの状態変更があった日時や、サービスの稼働状態を記録したログファイルなどがわかる。
$ svcs -p http STATE STIME FMRI online 3月_31 svc:/network/http:cswapache2 3月_31 15440 httpd 3月_31 15441 httpd 3月_31 15442 httpd 3月_31 15443 httpd 3月_31 15444 httpd 3月_31 15445 httpd 3月_31 15446 httpd 3月_31 15447 httpd 3月_31 15448 httpd
$ svcs -xv svc:/network/http:cswapache2 (Apache 2 HTTP server) 状態: 2008年04月03日 14時40分51秒 以降maintenanceです 原因: 開始メソッドに繰り返し失敗しました。最後は 状態 1 で終了しました. 参照: http://sun.com/msg/SMF-8000-KS 参照: man -M /opt/csw/apache2/man -s 8 httpd 参照: http://httpd.apache.org 参照: /var/svc/log/network-http:cswapache2.log 影響: このサービスは動作していません。
設定ファイルの不具合などで起動が出来なかった場合には、上記コマンドで状態を確認後、さらに詳細の状況を確認するためには、「参照」に記載されているログファイル(ここでは'/var/svc/log/network-http:cswapache2.log’)を確認します。
例としてApacheのFMRIを使用します。
$ svcs -a| grep http disabled 12:02:38 svc:/network/http:cswapache2
$ sudo svcadm enable svc:/network/http:cswapache2
$ svcs -a| grep http online 18:46:42 svc:/network/http:cswapache2
$ svcs http $ sudo svcadm enable http
例としてApacheのFMRIを使用します。
$ svcs -a| grep http online 12:02:38 svc:/network/http:cswapache2
$ sudo svcadm disable svc:/network/http:cswapache2
$ svcs -a| grep http disabled 15:13:00 svc:/network/http:cswapache2
使用法: svcs [-aHpv] [-o col[,col ... ]] [-R restarter] [-sS col] [<サービス> ...] svcs -d | -D [-Hpv] [-o col[,col ... ]] [-sS col] [<サービス> ...] svcs -l <サービス> ... svcs -x [-v] [<サービス> ...] svcs -? -a 使用可能になっているサービスインスタンスだけではなく、すべてのサービスインスタンスを表示します -d 指定されたサービスの依存関係を表示します -D 指定されたサービスの依存を表示します -H 出力からヘッダー行を省略します -l 指定されたサービスの詳細情報を表示します -o 出力のうち指定された列のみを表示します -p 各サービスに関連付けられたプロセス ID と名前を表示します -R 指定されたリスタータを持つサービスのみを表示します -s 指定された列の昇順に出力を並べ替えます -S 指定された列の降順に出力を並べ替えます -v 出力のタイプに応じて詳細情報を表示します -x 保守を必要とする可能性のあるサービスの状態を説明するか、 または指定されたサービスの状態を説明します サービスは、FMRI、略記名、または fnmatch(5) パターンを使用して指定できます。以下の svc:/network/smtp:sendmail の例を参照してください svcs [opts] svc:/network/smtp:sendmail svcs [opts] network/smtp:sendmail svcs [opts] network/*mail svcs [opts] network/smtp svcs [opts] smtp:sendmail svcs [opts] smtp svcs [opts] sendmail 出力またはソートのカラムはこれらの名前を使って指定できます: CTID サービスの契約 ID (contract(4) を参照) DESC 人間が読むことのできるサービスの説明 FMRI サービスの障害管理リソース ID INST FMRI で指定されているサービスインスタンスの部分 N 次の状態の略記名 (遷移状態の場合) NSTA 次の状態の略記名 (遷移状態の場合) NSTATE 次の状態の名前 (遷移状態の場合) S 現在の状態の略記名 SCOPE サービスに関連付けられたスコープの名前 SN 現在の状態と次の状態の略記名 SVC FMRI で表現されているサービス名の部分 STA 現在の状態の略記名 STATE 現在の状態の名前 STIME 状態の最終変更時刻
使用法: svcadm [-v] [cmd [args ... ]] svcadm enable [-rst] <サービス> ... - サービスを使用可能にしてオンラインにします svcadm disable [-st] <サービス> ... - サービスを使用不可にしてオフラインにします svcadm restart <サービス> ... - 指定されたサービスを再起動します svcadm refresh <サービス> ... - サービスの設定を再度読み取ります svcadm mark [-It] <状態> <サービス> ... - 保守状態を設定します svcadm clear <サービス> ... - 保守状態を消去します svcadm milestone [-d] <マイルストン> - 特定のサービスマイルストンに進みます サービスは、FMRI、略記名、または fnmatch(5) パターンを使用して指定できます。以下の svc:/network/smtp:sendmail の例を参照してください svcadm <cmd> svc:/network/smtp:sendmail svcadm <cmd> network/smtp:sendmail svcadm <cmd> network/*mail svcadm <cmd> network/smtp svcadm <cmd> smtp:sendmail svcadm <cmd> smtp svcadm <cmd> sendmail