本当は怖いHPC

HPC屋の趣味&実益ブログ

Rubyでの外部プロセス起動のメモ

Rubyで外部プロセスを起動するにはいくつか選択肢があって、場合によって使い分けるとよいらしいです。それぞれ、呼び出したプロセスから取得できる情報に違いがあります。

メソッド・モジュール名 終了ステータス 標準出力 標準入力 標準エラー
バッククオート記法 ○ ($?) × ×
Kernel.system() ○ ($?) × × ×
Kernel.exec ×*1 × × ×
open3 ×
[http://raa.ruby-lang.org/project/open4/:title=open4](非標準)
[http://popen4.rubyforge.org/:title=popen4](非標準)

*1:プロセス自体を置き換えるコマンドなので、execの呼び出しは返りません

【広告】