1
我有一個需要作爲守護程序運行的perl腳本。 我在shell腳本設置一些環境變量,並呼籲從那裏PERL無法將stdout和stderr重定向到輸出文件
繼perl腳本是Perl腳本的簡化版本:
#!/usr/bin/env perl
do {
print "HELLO";
print "TO";
print "HELL";
#sleep (10);
} while (1)
以下是我的shell腳本的簡化版本:
#!/usr/bin/ksh
DATE=`date +'%Y%m%d'`
TIME=`date +'%H%M%S'`
PID=$$
tmp_log_file=${PID}_${DATE}_${TIME}.log
abcd.pl >>$tmp_log_file &
如果我從perl註釋掉睡眠函數調用,它工作正常。但是當我取消註釋時,tmp_log_file被創建爲零字節。
Perl的版本:v5.10.0
KSH版本:version sh (AT&T Research) 93t+ 2010-02-02
任何線索
緩衝? '$ | = 1;' – toolic
即使當我殺死(-TERM)它不會打印它..我會嘗試$ | = 1; – JRK
'STDOUT->沖洗' – Borodin