This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Unable to disown process


On 6 July 2011 18:24, Andrew DeFaria wrote:
> I have the following script that I use to tunnel nntp traffic:
>
> Â #!/bin/bash
> Â nohup ssh -NL 1119:news.mozilla.org:119 \
> Â Â Â Â -L 2119:news.gmane.org:119 \
> Â Â Â Â -L 3119:nntp.perl.org:119 \
> Â Â Âandrew@defaria.com > /dev/null 2>&1 &
>
> Â disown
>
> If I run this script it works fine and I'm tunneled. The problem is I cannot
> exit the terminal in which I invoked this script. When I attempt to do this
> the terminal hangs. I can close the terminal (mintty BTW) forcefully and the
> ssh session remains but it was my understanding that disown should allow you
> to exit the current shell with the backgrounded/disowned process continuing
> to run. In fact I tested this on RHEL and it worked as expected. What's up
> with Cygwin?

Mintty stays open as long as any processes are connected to it, i.e.
until it gets an EOF from its underlying pseudo terminal device,
whereas other terminals quit as soon as their direct child process
finishes. The Cygwin console behaves the same as mintty in this regard
though.

Nohup doesn't disassociate a process from its terminal, it just blocks
the SIGHUP signal for indicating when the terminal is gone. And
'disown' removes a job from the shell's job table, but again, the
job's processes will remain connected to the terminal.

You can use the 'setsid' utility from the util-linux package to invoke
a program in its own session, i.e. without connection to the terminal
it is invoked from. For example:

setsid ssh -NL 1119:news.mozilla.org:119 \
         -L 2119:news.gmane.org:119 \
         -L 3119:nntp.perl.org:119 \
         andrew@defaria.com

No need for 'nohup', redirections, backgrounding, or 'disown' with this.

Andy

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]