記事 Hiroshi Sato · 4時間 前 1m read

IRISのHANGステータスのプロセスの変数情報の取得方法について

これは InterSystems FAQ サイトの記事です。

HANGコマンドや$ZF実行中の時には、^JOBEXAMや管理ポータルのプロセス詳細画面(システム>プロセス>プロセス詳細)でそのプロセス変数情報を取得することができません。

これらは内部的に以下のシステムクラスメソッドを呼び出しています。

ExamStackByPidメソッド

代わりにVariableByPidクラスクエリを利用することで、そのような状況でもプロセス変数情報を取得できます。

VariableByPidクエリ
以下のように取得することができます。

実行例:  // %SYSネームスペースで実行
set stmt=##class(%SQL.Statement).%New()
write stmt.%PrepareClassQuery("%SYS.ProcessQuery","VariableByPid")
set rs=stmt.%Execute(35552,"")  // 第1引数にPIDを指定、第2引数 “” で全ての変数
                           // PID=35552がハング状態でも実行可能
do rs.%Display()
// Name  Value
// a    123
// b    456
// c    789
// :