'\" te .\" Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. .TH syseventadm 1M "2012 年 5 月 22 日" "SunOS 5.11" "システム管理コマンド" .SH 名前 syseventadm \- sysevent イベント指定の管理 .SH 形式 .LP .nf \fBsyseventadm\fR add [\fB-R\fR \fIrootdir\fR] [\fB-v\fR \fIvendor\fR] [\fB-p\fR \fIpublisher\fR] [\fB-c\fR \fIclass\fR] [\fB-s\fR \fIsubclass\fR] [\fB-u\fR \fIusername\fR] \fIpath\fR [\fIargs\fR] .fi .LP .nf \fBsyseventadm\fR remove [\fB-R\fR \fIrootdir\fR] [\fB-v\fR \fIvendor\fR] [\fB-p\fR \fIpublisher\fR] [\fB-c\fR \fIclass\fR] [\fB-s\fR \fIsubclass\fR] [\fB-u\fR \fIusername\fR] [\fIpath\fR [\fIargs\fR]] .fi .LP .nf \fBsyseventadm\fR list [\fB-R\fR \fIrootdir\fR] [\fB-v\fR \fIvendor\fR] [\fB-p\fR \fIpublisher\fR] [\fB-c\fR \fIclass\fR] [\fB-s\fR \fIsubclass\fR] [\fB-u\fR \fIusername\fR] [\fIpath\fR [\fIargs\fR]] .fi .LP .nf \fBsyseventadm\fR restart .fi .SH 機能説明 .sp .LP \fBsyseventadm\fR コマンドは、\fBsysevent\fR イベントハンドラの追加、削除、および一覧表示を行う管理フロントエンドです。sysevent デーモンは restart コマンドを使って再起動することもできます。\fBsyseventadm\fR は root でのみ実行できます。 .sp .LP \fBsyseventadm\fR \fBadd\fR コマンドは、ベンダー、発行元、またはクラスの少なくとも 1 つによって指定された \fBsysevent\fR イベントのハンドラを追加します。\fIclass\fR を指定する場合は、それを \fIsub-class\fR で修飾できます。ハンドラを追加する場合、\fIvendor\fR、\fIpublisher\fR、\fIclass\fR、および \fIsub-class\fR に指定された値のみが \fBsysevent\fR イベントと照合されて、その指定がイベントと一致し、ハンドラを実行すべきかどうかが判定されます。\fIpath\fR は、一致するイベントに応答して実行されるコマンドのフルパス名であり、省略可能な引数 (\fIargs\fR) を指定することもできます。ユーザー名を指定した場合、このコマンドはユーザー \fIusername\fR として呼び出され、それ以外の場合は root として呼び出されます。 .sp .LP \fBsyseventadm\fR \fBremove\fR コマンドは、一致する sysevent イベント指定のハンドラを削除します。イベント指定を一致させるには、\fIvendor\fR、\fIpublisher\fR、\fIclass\fR、\fIusername\fR、または \fIpath\fR の少なくとも 1 つを指定します。\fIclass\fR を指定する場合は、それを \fIsub-class\fR で修飾できます。\fIvendor\fR、\fIpublisher\fR、\fIclass\fR、\fIsub-class\fR、\fIusername\fR、\fIpath\fR、または \fIargs\fR のいずれかが指定されていない場合は、すべてのイベントの対応するフィールドが一致します。一致するすべての指定のハンドラが削除されます。 .sp .LP \fBsyseventadm\fR \fBlist\fR コマンドは、\fIvendor\fR、\fIpublisher\fR、\fIclass\fR、\fIusername\fR、または \fIpath\fR の少なくとも 1 つを指定するという要件がないこと以外は \fBremove\fR コマンドと同じ一致条件を使用して、一致する \fBsysevent\fR イベント指定のハンドラを一覧表示します。一致条件がない場合は、すべての指定が一覧表示されます。list コマンド出力の形式は: [vendor=\fIvendor\fR] [publisher=\fI publisher\fR] [class=\fIclass\fR] [subclass=\fIsubclass\fR] [username=\fIusername\fR] \fIpath\fR [\fIargs\fR] であり、それぞれの \fIclass\fR、\fIsub-class\fR、\fIvendor\fR、\fIpublisher\fR、および \fIusername\fR が表示されるのは、それが一覧表示された指定の一致条件の一部である場合のみです。 .sp .LP \fBsyseventadm\fR \fBrestart\fR コマンドは、1 つ以上の \fBsysevent\fR ハンドラの指定を追加または削除することによって変更が行われたあとで \fBsysevent\fR レジストリを再読み取りするように \fBsyseventd\fR デーモンに通知します。 .SS "引数マクロの置換" .sp .LP \fBsysevent\fR ハンドラ機能は、イベントに応答して実行されるコマンド行引数を構築するための拡張マクロ機能を備えています。マクロ展開はイベントハンドラに指定されたコマンド行の \fIargs\fR にのみ適用され、マクロはイベントそのものからのデータで展開されます。イベントの \fIclass\fR、\fIsubclass\fR、\fIpublisher\fR、および \fIvendor\fR 情報には定義済みのマクロが用意されています。マクロが定義済みのマクロ名のいずれとも一致しないと、イベントに付属している属性リストでその名前の属性が検索され、一致した属性の値がコマンド行で置換されます。 .sp .LP マクロは \fB$\fR 文字によって取り込まれ、マクロ名はスペースまたはタブ文字で区切られた次のトークンになります。マクロ名がテキストに埋め込まれている場合は、\fB${\fR および \fB}\fR によって表すことができます。\fB$\fR の前に \fB\\fR があると、マクロ展開は行われません。 .sp .ne 2 .mk .na \fB$\fIclass\fR\fR .ad .RS 14n .rt イベントを定義するクラス文字列 .RE .sp .ne 2 .mk .na \fB$\fIpublisher\fR\fR .ad .RS 14n .rt イベントを定義する発行元文字列 .RE .sp .ne 2 .mk .na \fB$\fIsequence\fR\fR .ad .RS 14n .rt イベントのシーケンス番号。 .RE .sp .ne 2 .mk .na \fB$\fIsubclass\fR\fR .ad .RS 14n .rt イベントを定義するサブクラス文字列 .RE .sp .ne 2 .mk .na \fB$\fItimestamp\fR\fR .ad .RS 14n .rt イベントのタイムスタンプ。 .RE .sp .ne 2 .mk .na \fB$\fIvendor\fR\fR .ad .RS 14n .rt イベントを定義するベンダー文字列 .RE .sp .LP それらの定義済み以外のマクロ名は、イベントに付属の属性リストと比較されます。マクロ名と一致する名前の属性があると、生成されたコマンド行でその属性の値が \fBASCII\fR テキストとして置換されます。 .sp .LP その名前の属性が定義されていないか、またはその名前の属性が複数指定されているマクロを使用すると、エラーが発生し、コマンドは呼び出されません。 .sp .LP 符号付きデータ型 (\fBDATA_TYPE_INT16\fR、\fBDATA_TYPE_INT32\fR、および \fBDATA_TYPE_INT64\fR) を持つ属性は 10 進数として展開されます。 .sp .LP 符号なしデータ型 (\fBDATA_TYPE_BYTE\fR、\fBDATA_TYPE_UINT16\fR、\fBDATA_TYPE_UINT32\fR、\fBDATA_TYPE_UINT64\fR、および \fBDATA_TYPE_HTTIME\fR) を持つ属性は、接頭辞 \fB0x\fR の付いた 16 進数として展開されます。 .sp .LP 文字列データ型 (\fBDATA_TYPE_STRING\fR) を持つ属性は文字列データとして展開されます。このデータに引用符は付きません。引用符付きの文字列がコマンド行で生成される必要がある場合は、引数内のマクロ呼び出しの周りに引用符を付けます。 .sp .LP 配列型は、各要素がそのスカラー型に定義されたとおりに展開され、各要素の置換がスペースで区切られて展開されます。 .SH オプション .sp .LP \fBadd\fR、\fBlist\fR、および \fBremove\fR サブコマンドは、次のオプションをサポートしています。 .sp .ne 2 .mk .na \fB\fB-c\fR \fIclass\fR\fR .ad .RS 16n .rt イベントクラス \fIclass\fR を指定します。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR \fIpublisher\fR\fR .ad .RS 16n .rt イベント発行元 \fIpublisher\fR を指定します。 .RE .sp .ne 2 .mk .na \fB\fB-R\fR \fIrootdir\fR\fR .ad .RS 16n .rt 代替ルートパス \fIrootdir\fR を指定します。 .LP 注 - .sp .RS 2 いかなる非大域ゾーンのルートファイルシステムも \fB-R\fR で参照しないでください。この操作によって、大域ゾーンのファイルシステムを損傷したり、大域ゾーンのセキュリティを損ねたり、非大域ゾーンのファイルシステムを損傷する可能性があります。\fBzones\fR(5) を参照してください。 .RE .RE .sp .ne 2 .mk .na \fB\fB-s\fR \fIsubclass\fR\fR .ad .RS 16n .rt イベントサブクラス \fIsubclass\fR を指定します。 .RE .sp .ne 2 .mk .na \fB\fB-u\fR \fIusername\fR\fR .ad .RS 16n .rt そのコマンドを呼び出すユーザー名 (\fIusername\fR) を指定します。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR \fIvendor\fR\fR .ad .RS 16n .rt そのイベントを定義するベンダー (\fIvendor\fR) を指定します。サードパーティーのソフトウェアによって定義されたイベントでは、\fIvendor\fR として企業の銘柄記号が指定されます。Oracle によって定義されたイベントでは \fBSUNW\fR を使用します。 .RE .SH オペランド .sp .LP \fBadd\fR、\fBlist\fR、および \fBremove\fR サブコマンドは、次のオプションをサポートしています。 .sp .ne 2 .mk .na \fB\fIargs\fR \fR .ad .RS 9n .rt コマンド引数 .RE .sp .ne 2 .mk .na \fB\fIpath\fR\fR .ad .RS 9n .rt イベントに応答して実行されるコマンドのフルパス .RE .SH 使用例 .LP \fB例 1 \fRイベントハンドラの追加 .sp .LP 次の例では、ベンダー \fBMYCO\fR (「My Company」)、クラス \fBEC_ENV\fR、およびサブクラス \fBESC_ENV_TEMP\fR によって定義されたイベントのイベントハンドラを追加します。実行されるコマンドは \fB/opt/MYCOenv/bin/ec_env_temp\fR であり、引数はイベント属性から得られたクラス名、サブクラス名、およびパス名です。シェルの解釈を回避するために \fB$\fR 文字の前にバックスラッシュが付いています。レジストリが \fB$ALTROOT\fR で維持されるため、変更後にサービスを再起動する必要はありません。 .sp .in +2 .nf # syseventadm add -R \eALTROOT -v MYCO -c EC_ENV -s ESC_ENV_TEMP \e /opt/MYCOenv/bin/ec_env_temp \e$class \e$subclass \e$pathname .fi .in -2 .sp .sp .LP 上記の \fB-R\fR オプションの説明に記載されている、そのオプションの使用に関する警告に注意してください。 .LP \fB例 2 \fRイベントハンドラの削除 .sp .LP 次の例では、例 1 で追加したイベントハンドラを削除します。 .sp .in +2 .nf # syseventadm remove -R \eALTROOT -v MYCO -c EC_ENV -s ESC_ENV_TEMP \e /opt/MYCOenv/bin/ec_env_temp \eclass} \esubclass} \epathname} .fi .in -2 .sp .sp .LP 上記の \fB-R\fR オプションの説明に記載されている、そのオプションの使用に関する警告に注意してください。 .LP \fB例 3 \fRイベントハンドラの一覧表示 .sp .LP 次の例では、ベンダー \fBMYCO\fR によって定義されたとおりに、クラス \fBEC_ENV\fR、サブクラス \fBESC_ENV_TEMP\fR のイベントのすべてのイベントハンドラを一覧表示します。 .sp .in +2 .nf # syseventadm list -v MYCO -c EC_ENV -s ESC_ENV_TEMP \e vendor=MYCO class=EC_ENV subclass=ESC_ENV_TEMP \e /opt/MYCOenv/bin/ec_env_temp \e${class} \e${subclass} \e${pathname} .fi .in -2 .sp .LP \fB例 4 \fRイベントハンドラの一覧表示 .sp .LP 次の例では、ベンダー \fBVRTS\fR によって定義されたすべてのイベントハンドラを一覧表示します。 .sp .in +2 .nf # syseventadm list -v VRTS .fi .in -2 .sp .LP \fB例 5 \fRイベントハンドラの削除 .sp .LP 次の例では、ベンダー \fBVRTS\fR によって定義されたすべてのイベントハンドラを削除し、サービスを再起動します。 .sp .in +2 .nf # syseventadm remove -v VRTS # syseventadm restart .fi .in -2 .sp .LP \fB例 6 \fRコマンドの実行用に指定したすべてのイベントハンドラの一覧表示 .sp .LP 次の例では、コマンド \fB/opt/MYCOenv/bin/ec_env_temp\fR の実行用に指定したすべてのイベントハンドラを一覧表示します。 .sp .in +2 .nf # syseventadm list /opt/MYCOenv/bin/ec_env_temp .fi .in -2 .sp .LP \fB例 7 \fRイベントハンドラの削除とサービスの再起動 .sp .LP 次の例では、コマンド \fB/opt/MYCOenv/bin/ec_env_temp\fR の実行用に指定したすべてのイベントハンドラを削除し、サービスを再起動します。 .sp .in +2 .nf # syseventadm remove /opt/MYCOenv/bin/ec_env_temp # syseventadm restart .fi .in -2 .sp .SH 終了ステータス .sp .LP 次の終了ステータスが返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 5n .rt 正常終了。 .RE .sp .ne 2 .mk .na \fB\fB1\fR\fR .ad .RS 5n .rt 一致するイベント指定が見つかりません (remove または list コマンドのみ)。 .RE .sp .ne 2 .mk .na \fB\fB2\fR\fR .ad .RS 5n .rt コマンドの使用法が正しくありません。 .RE .sp .ne 2 .mk .na \fB\fB3\fR\fR .ad .RS 5n .rt アクセス権が拒否されました。 .RE .sp .ne 2 .mk .na \fB\fB4\fR\fR .ad .RS 5n .rt コマンドが失敗しました。 .RE .sp .ne 2 .mk .na \fB\fB5\fR\fR .ad .RS 5n .rt メモリーが不足しています。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os .TE .SH 関連項目 .sp .LP \fBsyseventd\fR(1M), \fBsysevent_post_event\fR(3SYSEVENT), \fBattributes\fR(5), \fBddi_log_sysevent\fR(9F) .SH 注意事項 .sp .LP アップグレードの問題を回避するには、パッケージのポストインストールスクリプトから \fBsyseventadm\fR を実行することで、sysevent イベントハンドラを配信するパッケージによってイベントハンドラがインストールされるようにしてください。その後、追加時と同じ引数を使用してパッケージの削除前スクリプトから \fBsyseventadm\fR を実行することでそのイベントハンドラを削除できます。