Chinaunix首页 | 论坛 | 博客
  • 博客访问: 48392
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 72
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-22 16:36
个人简介

地方

文章分类

全部博文(51)

文章存档

2013年(51)

我的朋友

分类: LINUX

2013-04-22 16:40:29

公司最近上了一个电子展示屏的项目,就是用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 就粉墨登场了,使用一下超级好用,也大大减少了我的工作量,具体使用就不介绍了,傻瓜式操作。

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