LSFに投入したジョブの状態を取得したい場合など、外部のコマンドの結果を取り込みたいことがありますが、これはそのサンプルです。
bjobs コマンドの結果を取り込む
(let ((pid (ipcBeginProcess "bjobs -o 'JOBID STAT JOB_NAME'"))) (ipcWait pid) (and (zerop (ipcGetExitStatus pid)) (ipcReadProcess pid))) → "JOBID STAT JOB_NAME\n376290 RUN virtuoso\n373414 WAIT calibre_lvs\n"
上のコードのでは、コマンドの実行終了ステータスコードが 0(正常終了)でない場合には nil を返して、0 の場合はコマンドの出力内容の文字列を返すようにしてあります。
出力内容に含まれる改行文字列はそのままの形で返されますので、この結果を parseString 関数などで適宜処理することで、欲しい情報を得ることができます。