Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2114846
  • 博文数量: 227
  • 博客积分: 10521
  • 博客等级: 上将
  • 技术积分: 3452
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-20 14:59
个人简介

低调做人,高调做事!

文章分类

全部博文(227)

文章存档

2013年(4)

2012年(8)

2011年(16)

2010年(24)

2009年(92)

2008年(83)

分类: LINUX

2010-08-17 20:14:05

公司最近上了一个电子展示屏的项目,就是用flash开发的一个播放器程序,播放器在工作一段时间后,会出现假死的情况,开发人员解释为flash的bug引起,需要隔上一段时间重新启动下,由于不会批处理,就用perl来实现吧,也很简单。

代码如下:

use strict;
use warnings;
use Win32::Process::List;

my $program_path = 'C:/test';

opendir(DIR,"$program_path") or die "Can't open the current directory: $!\n";
my @names = readdir(DIR) or die "Unable to read current dir:$!\n";
closedir(DIR);

foreach my $name (@names) {
        if ($name =~ /\.exe?$/i) {
             print "$name\n";

             my $P = Win32::Process::List->new();
             if ( !$P->GetProcessPid("$name") ) {
                  system("$program_path/$name -full");
             }
             else {
                  system("taskkill /F /IM $name");
                  system("$program_path/$name -full");
             }

        }
}


因为有几台服务器都运行着展示程序,如果在每台服务器上部署perl环境,这个工程量相当大,以后维护也不方便,就想能不能打个包,原来看到过这样的样例,这样在每台服务器上执行安装程序即可,于是 Cava Packager 就粉墨登场了,使用一下超级好用,也大大减少了我的工作量,具体使用就不介绍了,傻瓜式操作。

官方网址:
阅读(3712) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

wiliiwin2010-08-20 23:50:57

呵呵 这个工具不错 以后我也用的上了