#!/usr/bin/perl -w use strict; use Win32; use Win32::Process; use Win32::Process::Info; my $execID2find="prog2stopnstart32.exe"; my $pi = Win32::Process::Info->new; my @info = $pi->GetProcInfo(); my @procsOfInterest = grep{ $_->{Name} eq $execID2find } @info; if( @procsOfInterest ) { print "KILL $_->{ProcessId}\n", kill 9, $_->{ProcessId}, for @procsOfInterest; } else { print "No process with the name $execID2find was found\n"; } # Create the process object. my $ProcessObj; Win32::Process::Create($ProcessObj, "C:\\Program Files\\programs\\prog2stopnstart32.exe", "prog2stopnstart32", 0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport(); $ProcessObj->Suspend(); $ProcessObj->Resume(); # $ProcessObj->Wait(INFINITE); sub ErrorReport{ print Win32::FormatMessage( Win32::GetLastError() ); }