Windows 守护进程
2015-08-31 16:31
344 查看
*use Win32::Process::Info; use Sys::Hostname; use HTTP::Date qw(time2iso str2time time2iso time2isoz); use Net::SMTP; sub send_mail{ if (@_ != 2){print "请输入2个参数\n";exit 1}; ($m,$n) = @_; #将参数赋值给变量 my $to_address = $m; my $CurrTime = time2iso(time()); my $to_address = $m; my $mail_user = 'zhaoyangjian@zjcap.cn'; my $mail_pwd = 'zj806355'; my $mail_server = 'smtp.exmail.qq.com'; my $from = "From: $mail_user\n"; my $subject = "Subject: zjcap info\n"; my $info = "$CurrTime--$n"; my $message = <<CONTENT; $info CONTENT my $smtp = Net::SMTP->new($mail_server); $smtp->auth($mail_user, $mail_pwd) || die "Auth Error! $!"; $smtp->mail($mail_user); $smtp->to($to_address); $smtp->data(); # begin the data $smtp->datasend($from); # set user $smtp->datasend($subject); # set subject $smtp->datasend("\n\n"); $smtp->datasend("$message\n"); # set content $smtp->dataend(); $smtp->quit(); }; my $pi=Win32::Process::Info->new({assert_debug_priv => 1}); my @processinfo = $pi->GetProcInfo(); foreach my $process (@processinfo){ print join(':',$process->{'Name'},$process->{'ProcessId'}, $process->{'Owner'}),"\n"; $var=$process->{'Name'}; ##将进程名放入数组 push @arr1,$var; } print "----------------------\n"; $proc='360Safe.exe'; $task='C:\Program Files (x86)\360\360Safe\360Safe.exe'; #foreach (@arr1){if ($_ =~ /360/){print "$_\n"}}; if (grep m/$proc/,@arr1 ){print "$proc is running\n"} else{ send_mail('zhaoyangjian@zjcap.cn',"$proc is lost"),print "$proc is not running\n", system("$task"); };*
相关文章推荐
- Linux下配置Java web服务器
- 【nginx】nginx proxy_pass指令"/"注意事项
- Java设计模式之抽象工厂模式
- ESB简介及选型(转)
- thinkPHP中Model文件加下类的问题
- Android5.0源码-国内镜像网站上用repo下载
- 工程师文化
- qt4.8.4 使用键盘后终端没有反映
- android 控件状态配置文件
- Codeforces Round #312 (Div. 2) (第三题是位运算,好题)
- poj 2485 Highways
- 由点击页面其它地方隐藏div所想到的jQuery的delegate
- Seednet 访问路径
- 观察者模式
- window服务器下监控tomcat服务脚本
- org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type [si
- shell中的数组操作
- Python 里不能直接赋值方式修改 sys.argv
- 第十一集 贝叶斯统计和规则化
- python相关资料分享