systemとexecの違いについて

thorでalias集みたいなのを作ってた時に思った。

たぶんこんな感じ。

system
子プロセスで処理を実行して、成功したらtrueを返して子プロセスは終了する

exec
現在のプロセスで処理を実行する
処理が成功したら、そこでrubyのスクリプトは終了する

最初は全部systemを使ってたけど、rails consoleみたいな処理が続く奴はexec使うようにした。

systemを使うと、うっかりctrl-cをした時なんか変な感じになる。