セッション管理コマンドmoninfoの利用方法
moninfoコマンドは、コンソールから日医標準レセプトソフトのセッション管理を行うツールです。moninfoコマンドを利用して以下のことができます。
- サーバに接続しているクライアントの一覧表示
- 特定のクライアントへのダイアログによるメッセージ通知
- 全てのクライアントへのダイアログによるメッセージ通知
- 特定のクライアントへのポップアップによるメッセージ通知(Ver.4.7より)
- 全てのクライアントへのポップアップによるメッセージ通知(Ver.4.7より)
- 特定のクライアントへのメッセージ通知と強制終了
- 全てのクライアントへのメッセージ通知と強制終了
moninfoコマンドは日医標準レセプトソフト Ver.4.5 より利用可能です。
moninfoコマンドはVer.4.7以降とVer.4.6以前でコマンド形式が異なります。
Ver.4.7以降のmoninfoコマンド
コマンド形式
moninfoコマンドの形式は以下です。
$ sudo -u orca /usr/lib/panda/bin/moninfo [-p /tmp/sysdata] コマンド 引数
重要:日レセVer5.2.0はsystemed対応によりwfcのプロセスの/tmpがprivate-tmpに隔離されたため、下記形式となります。
$ sudo /usr/lib/panda/bin/moninfo -p /tmp/systemd-private-<ランダム英数字>-jma-receipt.service-<ランダム英数字>/tmp/sysdata コマンド 引数
利用可能なコマンドとその説明は以下です。
コマンド | 引数 | 説明 |
---|---|---|
dump | - |
標準出力にシステムDBの内容をYAML形式でダンプする |
popup |
端末ID メッセージ |
端末IDで指定したクライアントにポップアップでメッセージを通知する |
popup-all | メッセージ |
全てのクライアントにポップアップでメッセージを通知する |
dialog | 端末ID メッセージ | 端末IDで指定したクライアントにダイアログでメッセージを通知する |
dialog-all | メッセージ | 全てのクライアントにダイアログでメッセージを通知する |
abort | 端末ID メッセージ | 端末IDで指定したクライアントにメッセージを通知し、強制終了させる |
abort-all | メッセージ |
全てのクライアントにメッセージを通知し、強制終了させる |
who | - | 端末ID、ユーザ名、ウィンドウ名、アクセス時間、ログイン時間を表示する |
moninfoコマンドはwfcが作成したUNIXドメインソケット/tmp/sysdataに接続するため、wfcを実行しているユーザ、すなわちorcaユーザで実行する必要があります。
popup、popup-all、dialog、dialog-all、abort、abort-allコマンドに渡すメッセージのエンコーディングは UTF-8 でなければいけません。
コマンド解説
dumpコマンド
dumpコマンドは標準出力にシステムDBの内容をYAML形式で出力します。セッションIDをキーとしたハッシュの形式となります。
dumpコマンドはデバッグ用のため将来バージョンでは出力内容、出力形式とも変更される可能性があります。
実行例$ sudo -u orca /usr/lib/panda/bin/moninfo dump 682C7:0000000000000000000000000100000000000000:00000EC6:ダンプデータ中の各項目の意味は以下です。
abort:
in_process: F
event:
window: M00
widget: SELNUM
access_time: Mon Jul 02 11:41:22 2012
agent: glclient2/1.4.7
process_time: 1.402335
count: 1
total_process_time: 1.402335
create_time: Mon Jul 02 11:41:22 2012
dialog:
host: localhost
user: ormaster
popup:
項目 | 値の説明 |
---|---|
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 | トランザクション数 |
popup | ポップアップ通知用メッセージ領域 |
dialog |
ダイアログ通知用メッセージ領域 |
abort | 強制終了用メッセージ領域 |
popupコマンド
popupコマンドは端末IDを指定して特定のクライアントにポップアップによるメッセージを通知するコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo popup 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
popup-allコマンド
popup-allコマンドは全てのクライアントにポップアップによるメッセージを通知するコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo popup-all "メッセージ"
dialogコマンド
dialogコマンドは端末IDを指定して特定のクライアントにダイアログによるメッセージを通知するコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo dialog 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
dialog-allコマンド
dialog-allコマンドは全てのクライアントにダイアログによるメッセージを通知するコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo dialog-all "メッセージ"
abortコマンド
abortコマンドは端末IDを指定して特定のクライアントにメッセージを通知し、強制終了させるコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo abort 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
abort-allコマンド
abort-allコマンドは全てのクライアントにメッセージを通知し、強制終了させるコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo abortall "メッセージ"
whoコマンド
whoコマンドは接続しているクライアントのユーザ名、ホスト名、ログイン時間、アクセス時間、ウィンドウ名、クライアント種別、端末IDの一覧を表示するコマンドです。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo who |USER |HOST |LOGIN@ |LAST@ |WINDOW |AGENT |ID |
|ormaster |localhost |Mon Jul 02 11:41:22 2012 |Mon Jul 02 11:41:22 2012 |M00 |glclient2/1.4.7 |682C7:0000000000000000000000000100000000000000:00000EC6
Ver.4.6以前のmoninfoコマンド
コマンド形式
moninfoコマンドの形式は以下です。
$ sudo -u orca /usr/lib/panda/bin/moninfo [-p /tmp/sysdata] コマンド 引数
利用可能なコマンドとその説明は以下です。
コマンド | 引数 | 説明 |
---|---|---|
dump | - | /tmp/sysdata_dump_XXXXXXにシステムDBの内容をYAML形式でダンプする |
sendmsg | 端末ID メッセージ | 端末IDで指定したクライアントにメッセージを通知する |
sendmsgall | メッセージ |
全てのクライアントにメッセージを通知する |
abort | 端末ID メッセージ | 端末IDで指定したクライアントにメッセージを通知し、強制終了させる |
abortall | メッセージ |
全てのクライアントにメッセージを通知し、強制終了させる |
who | - | 端末ID、ユーザ名、ウィンドウ名、アクセス時間、ログイン時間を表示する |
moninfoコマンドはwfcが作成したUNIXドメインソケット/tmp/sysdataに接続するため、wfcを実行しているユーザ、すなわちorcaユーザで実行する必要があります。
sendmsg、sendmsgall、abort、abortallコマンドに渡すメッセージは UTF-8 である必要があります。
コマンド解説
dumpコマンド
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にダンプが出力されています。 ダンプは 端末ID をキーにしたハッシュになっており、その値がさらにセッション情報のハッシュになっています。
/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コマンド
sendmsgコマンドは端末IDを指定して特定のクライアントにメッセージを通知するコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo sendmsg 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
sendmsgallコマンド
sendmsgallコマンドは全てのクライアントにメッセージを通知するコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo sendmsgall "メッセージ"
abortコマンド
abortコマンドは端末IDを指定して特定のクライアントにメッセージを通知し、強制終了させるコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo abort 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
abortallコマンド
abortallコマンドは全てのクライアントにメッセージを通知し、強制終了させるコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo abortall "メッセージ"
whoコマンド
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