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 7/6/2011 12:12 PM, Andy Koppe wrote:
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.
Ah ha!
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
Excellent description and solution. Thanks.
No need for 'nohup', redirections, backgrounding, or 'disown' with this.
Of course those were all the desperate things I was trying to get this to work...

Actually I still need backgrounding as without it my ~/bin/tunnel just hangs on the setsid command...
--
Andrew DeFaria <http://defaria.com>
What is the speed of dark?



-- 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]