2016-07-13 1 views
-3

-1のtar終了コードは何を意味しますか?私は、コマンドをperlのシステム( "tar xzf DirName/tarFile.tar DirNameInsideTar/FileName")が失敗し、-1を返します。

system("tar xzf DirName/tarFile.tar DirNameInsideTar/FileName") 

perlスクリプトからuntarを使用しています。私は1000個のtarファイルを解凍しようとしていますが、解凍後にランダムに100個または時々500個のtarファイルがシステムコマンドに失敗し、-1を返します。コードのメモリ使用量と使用可能なディスク容量の両方をチェックして、どちらもうまくいくように見えます。誰でもエラーの内容を知っていますか?

+0

それがエラーを取得する場合には、標準エラーにエラーメッセージを出力しなければなりません。 – Barmar

+1

何ができるのかを知る方法はありません。エラーが発生する可能性があります。 – Barmar

+0

それはありません。私も--verboseを使っていますが、エラーメッセージは表示されません – Pranav

答えて

4

system-1を返すと、$!にエラーメッセージが含まれます。

system("tar xzf DirName/tarFile.tar DirNameInsideTar/FileName"); 

die("Can't execute command: $!\n")    if $? == -1; 
die("Child killed by signal ".($? & 0x7F)."\n") if $? & 0x7F; 
die("Child exited with error ".($? >> 8)."\n") if $? >> 8; 

systemによって返される値は$?としても利用可能である。)

関連する問題