Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: best way to kill a spawned process

by tobyink (Abbot)
on Feb 05, 2013 at 16:47 UTC ( #1017218=note: print w/replies, xml ) Need Help??

in reply to best way to kill a spawned process

use strict; use warnings; if (my $child = fork) { # foreground process sleep 5; kill 9, $child; } else { # background process exec("arecord", "file.wav"); }

The fork plus exec combination allows you to cleanly launch a background process, and gives you the PID for the background process, which can later be passed to kill.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name

Replies are listed 'Best First'.
Re^2: best way to kill a spawned process
by redss (Monk) on Feb 05, 2013 at 17:19 UTC
    That works...thanks!
      Take his choice of signal with a large grain of salt [1]:
      No no no.  Don't use kill -9.
      It doesn't give the process a chance to cleanly:
      1) shut down socket connections
      2) clean up temp files
      3) inform its children that it is going away
      4) reset its terminal characteristics
      and so on and so on and so on.
      Generally, send 15, and wait a second or two, and if that doesn't
      work, send 2, and if that doesn't work, send 1.  If that doesn't,
      REMOVE THE BINARY because the program is badly behaved!
      Don't use kill -9.  Don't bring out the combine harvester just to tidy
      up the flower pot.
      Just another Useless Use of Usenet,


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1017218]
[Your Mother]: The exhibit, the tick, or the scrotum?
[erix]: (the man is even a paleontologist )
[1nickt]: erix unfortunately that's there favourite spot. That's why they are usually spotted crawling *up* your leg.
[erix]: ha, the tick and, as it happens, also the curator (now a professor of Paleont.)
[1nickt]: s/there/their/, ugh sorry.
[Your Mother]: Heh. The only one I ever had on me, I caught on my shin, headed north.
erix looks nervously I got away cleanly from my run , it seems :)
1nickt doesn;t remember there being ticks in the old country ...
erix too fast for ticks!
[erix]: 'the old country' is where?

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (15)
As of 2017-05-24 13:18 GMT
Find Nodes?
    Voting Booth?