Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Handling killing the perl process

by afoken (Prior)
on Jan 04, 2010 at 10:01 UTC ( #815548=note: print w/ replies, xml ) Need Help??


in reply to Handling killing the perl process

Microsoft Windows has no concept of signals, we've discussed that in $SIG{ALRM} and windows vista? and some other threads. Perl implements an emulation, but it is not perfect, and it probably won't help you here.

Windows sends lots of messages to a window when it thinks the process owning the window should terminate, like WM_CLOSE and WM_QUIT. So you need to catch those messages. With a console window, things are a little bit more complicated, as Windows fakes some keypresses (from memory - RTFM), too, and you can't catch the messages sent to the console window (from memory - RTFM). And ultimately, Windows can forcefully terminate a process by directly invoking ExitProcess() or the like from the processes' context, without any way for the process to stop or delay that (similar to kill -9, but implemented as "forced suicide").

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)


Comment on Re: Handling killing the perl process
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2015-07-30 05:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (270 votes), past polls