Thank you for the explanation about the descriptors. That's very insightful.
However, your suggested fix did not help the situation. I think that was even something that I had tried the day before. Netcat has strange issues about wanting stdin -- it won't run backgrounded without being fed tail -f /dev/null. I wonder if it isn't the problem here. I had discounted it since I redirected both stdin and stdout to the logfile. I'll use lsof and see if I can find anything interesting. Other suggestions are welcome. On Wed, Dec 05, 2007 at 03:49:09PM -0500, Paul Jarc wrote: > Jesse Molina <[EMAIL PROTECTED]> wrote: > > Basically, on the two troubled systems, my interactive shell will > > hang after I've disowned a process. On one other system, everything > > works as expected. I expect that a disowned process should not hang > > logout -- disowned means disowned. > > The terminal will hang around as long as any process has an open > descriptor connected to it. "disown" does not (and cannot) disconnect > an already-running process's file descriptors from the terminal. It > only affects the relationship between the process and bash, not > between the process and the terminal. > > > It seems like it's hanging on stdout since redirecting to /dev/null fixes > > the problem. > > You could have the same problem with stdin/stderr. > > > Here is the actual line where I am having trouble. I can't redirect tail's > > output in this case. It seems like tail is the offender. > > > > (tail -f < /dev/null | $NETCAT -l -p $LISTENPORT >> $LOGFILE 2>&1) & > > tail's stderr would still be connected to the terminal in that case. > See if this works: > (tail -f < /dev/null 2> /dev/null | $NETCAT -l -p $LISTENPORT >> $LOGFILE > 2>&1) & > > > paul -- # Jesse Molina # Mail = [EMAIL PROTECTED] # Page = [EMAIL PROTECTED] # Cell = 1.602.323.7608 # Web = http://www.opendreams.net/jesse/