perl-记录程序后台运行时间
perl-记录程序后台运行时间
今天遇到一个问题:如何记录HDecode解码时间,HDecode解码时间很长,需要在后台运行,即如何记录HDecode在后台运行时间?
我测试的指令为:
1.{ time nohup perl do_HDecode_3011_test_0101_0120.pl; } 2> do_HDecode_3011_test_0101_0120_time.log&
但是这个指令可以没有成功。
2.{ time perl do_HDecode_3011_test_0101_0120.pl; } 2> do_HDecode_3011_test_0101_0120_time.log
这个指令可以运行,但是不能后台运行。
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() ;#记录开始的时间T1system ( $HDecode_cmd ); #这是要运行的指令my $end_time = time();#记录结束的时间T2my $final_time = $end_time - $begin_time;print MYFILE "The final_time is : $final_time";close(MYFILE);