in reply to forcible termination of Win32 program then restart

Win32 doesn't 'do' signals...much. Perl.exe does some emulation of them and responds to them in a limited way, but that is of no help if the process you are trying to signal is a non-Perl process.

The win32 way of terminating another process is to us TerminateProcess. To use that call you need to translate $pid into a process handle, which can be done with OpenProcess. Use Win32::API(Win32::API::Prototype) to call those system apis.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.