inohilog

/var/log/inohiro

rubyで外部コマンドを使った時に,外側のループから勝手に抜けちゃう問題(exec)

  • ruby で外部コマンドを実行スクリプトを書いた
  • 過去にも外部コマンドを実行するスクリプトを書いたことがある
    • たいてい 'exec' を使っていた
  • 今回も 'exec' を使ったけど,'Dir.glob' のループから勝手に抜けてしまう
    • 1回目の 'exec' が実行されて,スクリプトの実行が終わる
    • 'system' コマンドを使ったら目的を達成できた


  • https://gist.github.com/2559551
  • 'exec' が,Dir.glob のループから勝手に抜けちゃうのは正しい挙動なんだろうか
    • => コメントいただきました.正しい挙動のようです
    • "プロセスの実行コードはそのコマンド(あるいは shell)になるので、 起動に成功した場合、このメソッドからは戻りません"