in reply to Keep a "system" process running if script is prematurely exited?

UNIX shells vary, but most send a SIGHUP to the child when the process ends. There are several ways of getting your child process to ignore SIGHUP. A shell type method is to use the nohup(1) program,:
system("nohup kedit &"); #or `kedit &`
another is to set
$SIG{HUP} = 'IGNORE';
in your perl before the system command.

However there might be a simpler way. You can supress this default action in bash using
shopt -u huponexit

Tested using CentOS 5.2, Perl 5.12.0, bash 3.2.25(1) (where the default for huponexit is off), KEdit 1.3.

Replies are listed 'Best First'.
Re^2: Keep a "system" process running if script is prematurely exited?
by westrock2000 (Beadle) on Jun 18, 2010 at 04:27 UTC
    The nohup command worked very easily. Thanks.