English help on website



ProcessInfoオブジェクト(Ver9.55対応版)
目次JavaScript対応− ProcessInfoオブジェクト
ProcessInfoオブジェクト
ProcessInfoオブジェクトは、runProcessまたはgetCurrentProcessInfoで取得できます。

メソッド
terminate() / kill()
プロセスを強制終了します。
パラメータはありません。
返り値はありません。

onClose(func)
プロセスが終了したときに呼ばれる関数を指定します。(V9.30以降)

パラメータ1に関数を指定します。
マクロが終わった後に、非同期的に呼ばれることになります。
応答が無くても固まりせん。

返り値はありません。

呼ばれる関数のパラメータはありません。
例:
js{
  debuginfo(2);
  var exe = hidemaru.runProcess("cmd.exe", directory2(), "gui" );
  exe.onClose( closeAsync ); //固まりません

  function closeAsync() {
    //ここはマクロ実行中ではない
    console.log("cmd.exe closed");
  }
}
endmacro;
サンプルの
//ここはマクロ実行中ではない
というのは、言葉の通り、マクロ実行中ではないという意味です。参照


プロパティ
stdIn
標準入力を扱うStdioオブジェクト。(取得)

stdOut
標準出力を扱うStdioオブジェクト。(取得)

stdErr
標準エラー出力を扱うStdioオブジェクト。(取得)

processID / pid
プロセスID。(取得)
数値です。

status
プロセスが終了しているかどうか。(取得)
数値で、0は終了していません。0以外は終了しています。

exitCode
終了コード。(取得)
数値です。


stdIn,stdOut,stdErrのエンコーディングは、生成時に決められています。
runProcessで起動されたプロセスは、明示的に指定したパラメータで決まります。
現在の秀丸エディタのプロセスは、getCurrentProcessInfoで取得され、エンコーディングはHidemaru.exeの起動オプションの/stdioによって決定されます。


TypeScript的な定義
interface ProcessInfo{
  processID:number;
  pid:number;
  status:number;
  exitCode:number;
  stdIn:Stdio;
  stdOut:Stdio;
  stdErr:Stdio;
  kill():void;
  terminate():void;
  onClose(p1:Function):void;
}


参照:
runProcess
getCurrentProcessInfo
ProcessInfo
isProcessIdValid