On 6/11/17 10:24 PM, Clark Wang wrote:
> On Mon, Jun 12, 2017 at 5:48 AM, Chet Ramey <[email protected]
> <mailto:[email protected]>> wrote:
>
> On 6/10/17 10:19 AM, Clark Wang wrote:
>
> > If I kill the "ssh -o ControlMaster=no -o ControlPath=/tmp/socket.tmp
> > 127.0.0.1 sleep 9999" then tty #1 (pts/11) would be able to accept my
> input
> > again. Seems like the background "ssh" at tty #1 is consuming all
> input. I
> > cannot understand this since it should be stopped by SIGTTIN if it
> tries to
> > read from the tty.
>
> This has come up before. You need to use `ssh -n' to avoid it reading from
> stdin. Processes can ignore SIGTTIN, and ssh does so to avoid being
> stopped
> if it reads from the tty while in the background.
>
>
> I've checked the ssh process and it does not catch SIGTTIN and that's why
> I'm confused.
OK. This has gone beyond the realm of a bash bug. I'm pretty sure that
previous versions of ssh ignored or caught SIGTTIN, but it must not do that
now.
Since ssh has a handle on its controlling terminal, it must do something
that allows it to read from it even if it's not in the foreground process
group. In any event, -n is the way to deal with that.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/