Kill Process by it's name

Hi everybody, i’m working on Microsoft Windows XP, and i want to make a
program to kill windows process by the name of the process, not by the
PID,
like EXCEL.EXE to kill microsoft excel or IEXPLORE.EXE to kill Internet
Explorer.
At this moment, i’m using this code:

mgmt = WIN32OLE.connect(‘winmgmts:\\.’)
mgmt.ExecQuery(“Select * from Win32_Process Where Name =
‘#{proc_name}’”).each{ |item|
item.Terminate()
}
It works, but sometimes it crashes, in an inesperated way.

Thanks and i’m waiting for your help.

Agustin R.

On Jan 18, 2008 12:54 AM, Agustin R. [email protected] wrote:

Hi everybody, i’m working on Microsoft Windows XP, and i want to make a
program to kill windows process by the name of the process, not by the PID,

I am not sure if it works on XP, but it definitely works on Windows
Server 2003:

taskkill /im excel.exe /f

I use it to kill off zombie processes.

Warning though, this will kill ANYTHING that matches the image name of
excel.exe… that is, all copies running.

Regards

Mikel

Agustin R. wrote:

}
It works, but sometimes it crashes, in an inesperated way.

Here’s a way that works well here, doesn’t use OLE, and is even a sort
of portable

require ‘sys/proctable’
require ‘time’

Sys::ProcTable.ps.each { |ps|
if ps.name.downcase == proc_name.downcase
Process.kill(‘KILL’, ps.pid)
end
}

On 17 jan 2008, at 14.54, Agustin R. wrote:

mgmt.ExecQuery(“Select * from Win32_Process Where Name =
‘#{proc_name}’”).each{ |item|
item.Terminate()
}
It works, but sometimes it crashes, in an inesperated way.

Thanks and i’m waiting for your help.

Agustin R.
I’m not using win myself. But I’ve seen an example on killing
processes in Win
in Managing Projects with GUN Make, from O’Reilly


See the amazing new SF reel: Invasion of the man eating cucumbers from
outer space.
On congratulations for a fantastic parody, the producer replies :
“What parody?”

Tommy N.
[email protected]

agustin t amoooo!

2008/1/17, Agustin R. [email protected]: