Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: How do I cleanly kill a spawned process on Win32.

by DrWhy (Chaplain)
on Feb 26, 2009 at 10:07 UTC ( [id://746504]=note: print w/replies, xml ) Need Help??


in reply to Re: How do I cleanly kill a spawned process on Win32.
in thread How do I cleanly kill a spawned process on Win32.

I looked at the example you mention, and a little more poking around in WMI docs on the Web. I can't tell for sure, but I strongly suspect that the Win32::OLE method degenerates to TerminateProcess(), so that wouldn't solve the problem.

I've looked at the source code for Perl 5.8.9, and I think I found the answer to your suggestion about perl's builtin kill(). I'm far from an expert so this is only a guess. In win32.c there's a function my_kill() that seems to be the core of the implementation of perl's builtin kill() on Windows platforms. It looks like they are trying to emulate some of the more common signals from *nix land so that if you were to kill 2, $pid it would call GenerateConsoleCtrlEvent(CTRL_C_EVENT,pid), kill 9, $pid would map to TerminateProcess(pid), (0, 1, SIGBREAK and SIGTERM are also handled specially). So this could potentially work for me, by just doing a kill 2, $pid, but I'm not sure since I'm not that familiar with Perl's guts and I haven't seen any documentation to confirm this behavior.

--DrWhy

"If God had meant for us to think for ourselves he would have given us brains. Oh, wait..."

  • Comment on Re^2: How do I cleanly kill a spawned process on Win32.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://746504]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2025-03-16 12:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    When you first encountered Perl, which feature amazed you the most?










    Results (54 votes). Check out past polls.