子プロセスの生成
is_parent = fork() #子プロセスの生成 if (is_parent) #親の場合process IDが、子の場合nilが返る Process.wait #子プロセスが終了するまで待つ p "parent : " + is_parent.to_s else p " child : " + is_parent.to_s exec("ls -l") #プログラムの起動.この行以降は実行されない p "no exec line" #この行は実行されない end p "-------system-------" ret = system("ls") #shellからプログラム実行 p ret #成功すればtrue, 失敗すればfalseが返る
子プロセスを生成するには、C言語(UNIX)と同様のProcess#fork, Process#execを使う。
forkは子プロセスを生成し、プログラムの状態をコピーして動作させる。ただし、forkの返り値がprocessIDかnilかになるので、そこで分岐させる。
Process#system は子プロセスにてコマンドを実行する。基本的にはshellを介する。