Re: subprocesses lifecycle



On 2008-08-29 22:01, C.DeRykus <ced@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:
On Aug 29, 12:53 pm, "Peter J. Holzer" <hjp-usen...@xxxxxx> wrote:
On 2008-08-29 12:19, C.DeRykus <c...@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:

On Aug 28, 10:43 am, Hans Mulder <han...@xxxxxxxxx> wrote:
What you'd really want, is a way to tell C<open> that you don't want
C<close> to wait for this child. As far as I know, there is currently
no simple way to achieve that.

Wouldn't backgrounding the task
accomplish that:

open my $fd, "/some/task & |"
or die...

Man, that's ugly!
But yes, I think that should work (although I haven't actually tried
it).


I'm not sure why a lone "&" tips the ugly balance :)

* Because it invokes a shell (which wouldn't otherwise be necessary)
* Because you have to think about it for a minute to figure out why it
works (if you figure it out at all - see Eric's post).


However, child subprocesses would then need to be foregrounded with
SIGCONT if the parent wants to kill them before exiting.

No. SIGCONT doesn't "foreground" a process running in the background.
It continues a process which has been stopped. A running process can be
sent signals whether it is in the foreground or the background.


Yes, I mis-spoke but a SIGCONT actually is sent to the process
group when a backgrounded job is
moved to the foreground via "fg"
to enable a terminal read for example.

"fg" moves a job to the foreground. But that job isn't necessarily in
the background, it can also be stopped. In the latter case of course a
SIGCONT is necessary.

hp
.



Relevant Pages

  • Re: subprocesses lifecycle
    ... No. SIGCONT doesn't "foreground" a process running in the background. ... group when a backgrounded job is ...
    (comp.lang.perl.misc)
  • Re: subprocesses lifecycle
    ... Because it invokes a shell ... is a more palatable solution. ... SIGCONT if the parent wants to kill them before exiting. ... sent signals whether it is in the foreground or the background. ...
    (comp.lang.perl.misc)
  • Re: Newbie question about csh
    ... Andrew wrote: ... would be possible to make that process running in foreground when I come ... if you really need a full-blown GUI type environment (like you have ...
    (comp.unix.shell)