delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/04/09/11:30:36

X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
From: Michael Hoffman <b3i4old02 AT sneakemail DOT com>
Subject: 1.5.24: rxvt or console fail to shutdown due to ssh -f still running despite setsid()
Date: Mon, 09 Apr 2007 16:29:35 +0100
Lines: 42
Message-ID: <evdm5e$7j8$1@sea.gmane.org>
References: <egiis5$dms$1 AT sea DOT gmane DOT org> <Pine DOT GSO DOT 4 DOT 63 DOT 0610110848550 DOT 26268 AT access1 DOT cims DOT nyu DOT edu> <egisev$lsl$1 AT sea DOT gmane DOT org>
Mime-Version: 1.0
User-Agent: Thunderbird 1.5.0.8 (Windows/20061025)
In-Reply-To: <egisev$lsl$1@sea.gmane.org>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

I originally reported this in October 2006 
<http://cygwin.com/ml/cygwin/2006-10/msg00399.html>:

[Michael Hoffman]
>>> When I log out of or shutdown my Windows login session, if I had a
>>> background process that I started within a Win32 rxvt session, I get an
>>> error that rxvt00000<some other hex numbers> has not shut down. For
>>> example if I use ssh -f or run ssh in the background using &, this
>>> symptom manifests.
>>>
>>> I can also see a related symptom if I am running using a Windows
>>> console. When I log out of bash, the console window will stick around
>>> until the ssh process is killed.
>>>
>>> I would like for these console windows and hidden rxvt windows to shut
>>> down without further confirmation. Is there a way to do this? Or a good
>>> workaround?
>>>
>>> I have Googled for this problem, and while I have found other related
>>> problems (such as ssh-agent continuing to run) I have not found any
>>> solutions for this case.

[Igor Peshansky]
>> "man nohup", "man setsid", in bash: "help disown".

[Michael Hoffman]
> Thanks, setsid works fine if I do not need to enter a password but 
> unfortunately will not work if I am using ssh -f to get an interactive 
> password before forking.
> 
> Looking in the openssh source, I can see that ssh -f calls daemon(), 
> which should call setsid(). Is that correct? If so, why is it still 
> hanging onto the terminal?

I have just checked the source for the daemon() function and the setsid 
executable. They both call fork() and then setsid(). Do the console/rxvt 
process stick after calling ssh -f because file descriptors are left 
open? Can you suggest a strategy to deal with this?

Many thanks,
-- 
Michael Hoffman


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019