in reply to Portable Process Control

But how do we kill a program started by 'open' from the signal handler?

From perldoc -f open

Open returns nonzero upon success, the undefined value otherwise. If the "open" involved a pipe, the return value happens to be the pid of the subprocess.

--MidLifeXis