瀧 です。はじめまして。

質問なのですが、UNIX 上で、以下の条件で動かしたいのです。
  - 子プロセスとしてシステムコマンドを実行する
  - script の実行中に Ctrl-C で止めた場合、以後の実行を行わない
  - エラーで終了した場合は実行を続行する

system 関数を使った場合、例えば以下のように書くと……
  def execute(command)
    unless system(command)
      raise format('command %s is aborted!', command)
    end
  end
  execute('gcc -c foo.c')
  execute('gcc -c bar.c')
  execute('gcc -c baz.c')

どちらの場合でも実行を終えてしまいます。

要するに、Ctrl-C で強制終了した場合と、コマンドがエラー終了した
場合とを区別したいのですが、何かそうした方法がありますでしょうか?
--
瀧 康太郎
e-mail: kotaro.taki / nifty.com