公司最近上了一个电子展示屏的项目,就是用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 就粉墨登场了,使用一下超级好用,也大大减少了我的工作量,具体使用就不介绍了,傻瓜式操作。
官方网址:
阅读(3824) | 评论(1) | 转发(1) |