- 论坛徽章:
- 0
|
20可用积分
本帖最后由 huhuegg 于 2013-03-04 12:11 编辑
一段时间重复加载一次自定义的PM,不过连续观察后发现脚本会有一些RSS内存增加,
请教我的require使用方法是否有问题~- my $Monitor;
- my $defaultPM="......"; #一定可以加载成功的默认PM内容
- my $pm="......"; #隔一段时间会更新内容的PM内容
- sub loadPM {
- my ($type)=@_;
- my $sub="[loadPM]";
- my $filename ="/tmp/monitor_linux.pm";
- if (-e "$filename") {
- unlink("$filename");
- }
- if (open(PM,">$filename")) {
- if ($type) {
- print PM $pm;
- } else {
- print PM $defaultPM;
- }
- close(PM);
- eval {
- if (exists $INC{$filename}) {
- $INC{$filename} = undef;
- delete $INC{$filename};
- }
- require "$filename";
- };
- if ($@) {
- unlink("$filename");
- wlog('err',"$sub load pm error!");
- } else {
- if ($Monitor) {
- undef $Monitor;
- }
- $Monitor=Monitor::Linux->new();
- $MonitorVer=$Monitor->{Version};
- if ($Monitor) {
- my $s= "$sub Load new PM ok, version:$MonitorVer";
- unlink("$filename");
- } else {
- unlink("$filename");
- wlog('err',"$sub Monitor::Linux->new() ERROR,load default PM");
- &loadPM();
- }
- }
- eval{unlink("$filename");};
- } else {
- die "create pm error!\n";
- }
- }
复制代码 |
|