Run Program()は標準入力と標準出力を使用するプログラムを制御します。コマンドラインから実行できるプログラムは、stdin(標準入力)からコマンドを読み取り、stdout(標準出力)に出力を書き込みます。Windowsのコマンドプロンプトcmd.exeは、その一例です。Windowsのメモ帳などのGUIプログラムを起動することもできます。
Run Program(
Executable( "cmd.exe" ),
Options( {"/c", "TaskList\!n"} ),
Read Function( "text" ) // すべてのテキストを戻す
);
図8.3 ログ出力
また、cmd.exeを使用せずにプロセス一覧を直接出力させ、データテーブルに読み込むこともできます。
blob = Run Program(
Executable( "tasklist.exe" ),
Read Function( "blob" )
);
Open(
blob,
Columns(
Column( "Image Name", Character, "Nominal" ),
Column(
"PID",
Numeric,
"Continuous",
Format( "最適", 10 )
),
Column( "Session Name", Character, "Nominal" ),
Column(
"Session#",
Numeric,
"Continuous",
Format( "最適", 10 )
),
Column( "Mem Usage", Character, "Nominal" ),
Omitted Column( .)
),
Import Settings(
Fixed Column Widths( 26, 9, 17, 12, 12, 63 ),
Labels( 1 ),
Column Names Start( 2 ),
Data Starts( 4 )
)
);
詳細については、『スクリプト構文リファレンス』の「JSL関数」章を参照してください。
メモ: Run Program()を使用してGUIプログラムを起動すると、そのプログラムを終了するまでJMPには制御が戻りません。