[b][size=large][align=center]perl-记录程序后台运行时间[/align][/size][/b]
今天遇到一个问题:如何记录HDecode解码时间,HDecode解码时间很长,需要在后台运行,即如何记录HDecode在后台运行时间?
我测试的指令为:
1.[b]{ time nohup perl do_HDecode_3011_test_0101_0120.pl; } 2> do_HDecode_3011_test_0101_0120_time.log&[/b]
但是这个指令可以没有成功。
2.[b]{ time perl do_HDecode_3011_test_0101_0120.pl; } 2> do_HDecode_3011_test_0101_0120_time.log[/b]
这个指令可以运行,但是不能后台运行。
3.最后利用在perl程序里加入时间来测量程序运行时间
思想:记录指令开始的时间T1
指令
记录指令结束的时间T2
最后的时间为T2-T1
代码如下:
这个指令可以后台运行:
比如:
nohup perl do_HDecode_3011_test_0101_37269.pl > nohup_do_HDecode_3011_test_0101_37269.log&
则可以后台运行。
今天遇到一个问题:如何记录HDecode解码时间,HDecode解码时间很长,需要在后台运行,即如何记录HDecode在后台运行时间?
我测试的指令为:
1.[b]{ time nohup perl do_HDecode_3011_test_0101_0120.pl; } 2> do_HDecode_3011_test_0101_0120_time.log&[/b]
但是这个指令可以没有成功。
2.[b]{ time perl do_HDecode_3011_test_0101_0120.pl; } 2> do_HDecode_3011_test_0101_0120_time.log[/b]
这个指令可以运行,但是不能后台运行。
3.最后利用在perl程序里加入时间来测量程序运行时间
思想:记录指令开始的时间T1
指令
记录指令结束的时间T2
最后的时间为T2-T1
代码如下:
unless (open (MYFILE,">do_HDecode_3011_test_0101_0120_time.log")){
die ("Can't open the file $!\n");
}
my $begin_time = time() ;#记录开始的时间T1
system ( $HDecode_cmd ); #这是要运行的指令
my $end_time = time();#记录结束的时间T2
my $final_time = $end_time - $begin_time;
print MYFILE "The final_time is : $final_time";
close(MYFILE);
这个指令可以后台运行:
比如:
nohup perl do_HDecode_3011_test_0101_37269.pl > nohup_do_HDecode_3011_test_0101_37269.log&
则可以后台运行。