in reply to open (to read) and kill a pipe to a pipe

Try this minor change-

 kill 9, -$pid;

I didn't try it on your stuff but it did work on a simple system("thingy &") test I just tried.

Replies are listed 'Best First'.
Re^2: open (to read) and kill a pipe to a pipe
by darist (Initiate) on Aug 26, 2010 at 22:14 UTC
    Thanks Your Mother!
    kill 9, -$pid; # didn't work # But... kill -9, $pid # WORKS !!!

    From perldoc on kill:
    if SIGNAL is negative, it kills process groups instead of processes. That means you usually want to use positive not negative signals.
      That's interesting since Windows doesn't have process groups. I wonder what it actually does ( when asked to kill a process group ).

        See kill_process_tree_toolhelp() in win32.c

        Corion recently told me that "under the Windows fork emulation, emulated forked children get negative PIDs". I don't know where this is documented but I believe him.

Re^2: open (to read) and kill a pipe to a pipe
by ikegami (Patriarch) on Aug 26, 2010 at 22:49 UTC
    You said ActivePerl and Windows, but system("thingy &") doesn't work on Windows. ("&" is like sh's "&&".)

    Mixed YourMother's post and the OP's