in reply to kill thread or fork processes

With threads, just run each process in it's own thread and then use exit to terminate. Whichever finishes first will terminate the other thread automatically.

#! perl slw #use 5.008008; For "no warnings 'threads'" ## Doesn't work? use strict; use threads; no warnings 'threads'; async { no warnings 'threads'; sleep rand(10); ## One longe running process print 'Thread 2 finished first'; exit; }; sleep rand(10); ## another long running process print 'thread 1 finished first'; exit;

The code will issue a warning A thread exited while 2 threads were running., but killing a thread this way is no worse that killing a process. From 5.8.8, no warnings 'threads'; is documented ... but not for this particular message it seems.


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.