5部 関数リファレンス

system

system LIST



システム上のプログラムを実行します。"exec LIST"とほとんど同じですが、最初にforkを行ない、チャイルドプロセスが終了するのをwaitします。execの項で述べたように、引数の処理は、引数の数によって異なることに注意してください。

返却値は、waitが返すプログラムのexit状態です。実際のexit値を得るには 256 で割ってください。execの項も参照してください。

systemは、コマンドからの出力を捕らえるために使うものではありません。そのような用途には、逆クォートやqx//を使用してください。 -1 の返り値はプログラムを開始させることに失敗したことを示します。

systemの使い方

system '/bin/echo', 'Hello world!';

以下のように$?を調べることで、全ての失敗の可能性をチェックすることができます。

$exit_value = $? >> 8;
$signal_num = $? & 127;
$dumped_core = $? & 128;

プロセスについては用語集「プロセス」を参照してください。

関連記事