ログファイルの解析を行い、時には bash コマンドを実行する Perlscript があります。
$messagePath = `ls -t -d -1 $dir | head -n 5 | xargs grep -l "$messageSearchString"\`;
次のように perl スクリプトを開始し./perlscript.pl > logfile.log
ます。
進行状況を監視するためにログファイルをテールしますが、上記の行で毎回出力が停止します。出力はそこで数秒間停止し、その後続行します。???
問題をプロファイルするために、次のようにラップしました。
print `date`;
$messagePath = `ls -t -d -1 $dir | head -n 5 | xargs grep -l "$messageSearchString"`;
print `date`;
出力は、コマンドが多くの時間を消費していないことを示しています。
So 6. Okt 22:35:04 CEST 2013
So 6. Okt 22:35:04 CEST 2013
出力をファイルにリダイレクトせずにスクリプトを実行すると、LAG はありません。
理由はありますか?