moninfoコマンドは、コンソールから日医標準レセプトソフトのセッション管理を行うツールです。moninfoコマンドを利用して以下のことができます。
moninfoコマンドは日医標準レセプトソフト Ver.4.5 より利用可能です。
moninfoコマンドの形式は以下です。
$ sudo -u orca /usr/lib/panda/bin/moninfo [-p /tmp/sysdata] コマンド 引数
利用可能なコマンドとその説明は以下です。
| コマンド | 引数 | 説明 |
|---|---|---|
| dump | - | /tmp/sysdata_dump_XXXXXXにシステムDBの内容をYAML形式でダンプする |
| sendmsg | TermID Message | TermIDで指定したクライアントにメッセージを通知する |
| sendmsgall | Message | 全てのクライアントにメッセージを通知する |
| abort | TermID Message | TermIDで指定したクライアントにメッセージを通知し、強制終了させる |
| abortall | Message | 全てのクライアントにメッセージを通知し、強制終了させる |
| who | - | TermID、ユーザ名、ウィンドウ名、アクセス時間、ログイン時間を表示する |
moninfoコマンドはwfcが作成したUNIXドメインソケット/tmp/sysdataに接続するため、wfcを実行しているユーザ、すなわちorcaユーザで実行する必要があります。
sendmsg、sendmsgall、abort、abortallコマンドに渡すメッセージは UTF-8 である必要があります。
dumpコマンドは/tmp/sysdata_dump_XXXXXXにシステムDBの内容をYAML形式で出力します。 dumpコマンドはデバッグ用のため将来バージョンでは出力内容、出力形式とも変更される可能性があります。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo dump [SUCCESS] dump to /tmp/sysdata_dump_vfXnnD
/tmp/sysdata_dump_vfXnnDにダンプが出力されています。 ダンプは TermID をキーにしたハッシュになっており、その値がさらにセッション情報のハッシュになっています。
/tmp/sysdata_dump_vfXnnDの内容は以下のようになります。
6B4A7:0000000000000000FFFF00000100007F00000000:00001A20: in_process: F abort: window: U02 user: ormaster event: CLICKED access_time: Thu Mar 25 09:38:45 2010 process_time: 0.392994 total_process_time: 0.977597 host: localhost widget: PTNUM count: 3 agent: glclient/1.4.5 create_time: Thu Mar 25 09:33:11 2010 message: 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62: in_process: F abort: window: K02 user: ormaster event: CLICKED access_time: Thu Mar 25 09:38:50 2010 process_time: 0.657574 total_process_time: 0.872283 host: localhost widget: PTNUM count: 3 agent: glclient2/1.4.5 create_time: Thu Mar 25 09:33:14 2010 message:
ダンプ中のセッション情報部分の意味は以下です。
| 項目 | 値の説明 |
|---|---|
| user | ユーザ名 |
| host | セッションの接続元のホスト名 |
| agent | クライアントの種類※1 |
| window | イベントのウィンドウ名 |
| widget | イベントのウィジェット名 |
| event | イベント名 |
| in_process | アプリケーション処理中かどうかのフラグ("T" または "F") |
| create_time | セッション接続時間(例 Mon Aug 17 11:54:31 2009) |
| access_time | 最終アクセス時間(例 Mon Aug 17 11:54:31 2009) |
| process_time | 一つ前のトランザクションの処理時間(秒) |
| total_process_time | 一つ前までのトランザクションの処理時間の合計(秒) |
| count | トランザクション数 |
| message | 通知メッセージ |
| abort | 強制終了フラグ |
sendmsgコマンドはTermIDを指定して特定のクライアントにメッセージを通知するコマンドです。 TermIDを指定するため、事前にwhoコマンドを実行してTermIDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo sendmsg 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
sendmsgallコマンドは全てのクライアントにメッセージを通知するコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo sendmsgall "メッセージ"
abortコマンドはTermIDを指定して特定のクライアントにメッセージを通知し、強制終了させるコマンドです。 TermIDを指定するため、事前にwhoコマンドを実行してTermIDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo abort 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
abortallコマンドは全てのクライアントにメッセージを通知し、強制終了させるコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo abortall "メッセージ"
whoコマンドは接続しているクライアントのユーザ名、ホスト名、ログイン時間、アクセス時間、ウィンドウ名、クライアント種別、端末IDの一覧を表示するコマンドです。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo who USER HOST LOGIN@ LAST@ WINDOW AGENT ID ormaster localhost Thu Mar 25 09:33:11 2010 Thu Mar 25 11:06:59 2010 U02 glclient/1.4.5 6B4A7:0000000000000000FFFF00000100007F00000000:00001A20 ormaster localhost Thu Mar 25 09:33:14 2010 Thu Mar 25 09:38:50 2010 K02 glclient2/1.4.5 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62