> > In a shell which does not support job control (which presumably
> > includes any non-interactive shell), I suspect a background task's
> > stdin is redirected from /dev/null.
>
> in zsh background jobs are stopped if it wants to read from stdin. at
> least for the default configuration, how does bash handle this? :)

The canonical implementation of job control is csh.  I imagine
others are similar.  However, I don't see how any shell can be
expected to provide job control *when run non-interactively*,
since the whole point of job control is to share the terminal
under interactive user control.

When FVWM performs "Exec foo &" it spawns a non-interactive shell to
interpret "foo &".  Noticing that it is not interactive, that shell
will run foo as a "background task" with /dev/null as stdin, rather
than as a "job" sharing the shell's terminal.

OTOH to perform "Exec xterm -e foo":

  FVWM spawns a non-interactive shell to interpret "xterm -e foo".

  The non-interactive shell spawns xterm with arguments "-e foo".

  xterm allocates a pty, and runs foo with its stdin/stdout/stderr
  connected to the pty.
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to