- 论坛徽章:
- 0
|
先上代码:
my @scripts = ( 'a.pl', 'b.pl', 'c.pl', 'e.pl', 'd.pl', 'f.pl', 'g.pl', 'h.pl' );
my $scriptNum = @scripts;
log( "script begins." );
my $i=0;
for( $i=0; $i<$scriptNum; $i++ ) {
log( $scripts[$i]." begins." );
if( system( $scripts[$i] ) == 0 ) {
log( "$scripts[$i] done. " );
} else {
log( $scripts[$i]." error: $?\n" );
}
sleep(3);
}
log( "script ends." );
exit;
问题是这样子的:
log记录内容如下:
script begins.
a.pl begins.
a.pl done.
b.pl begins.
根据b.pl本身的记录,b.pl已经正常运行完毕。但是上面的代码log没打到,而且system根本没捕捉到任何正确或错误的返回。整个程序就这样子消失了
实在没头绪,应该排除被kill的可能,脚本是通过cron起的。
请教各位同学们啊~~~~ |
|