> Thanks for the responses.  What I mean is when a python process is
> interrupted and does not get a chance to clean everything up then what
> is a good way to do so?  For instance, I have a script that uses child
> ptys to facilitate ssh connections (I'm using pxssh).  When I ^C the
> python process I am left with the child processes running and the ssh
> connections open.  Naturally I run out of ttys if this happens too
> much, which I have had happen.  So if python does not get a chance to
> take care of those, what is a good way to do so?  Does a try/finally
> or a with statement address that?  Thanks!

That's strange. When the parent process terminates, the tty master
should get closed, causing the slave to be closed as well, in addition
to sending a SIGHUP signal to the child, which ssh should interpret
as terminating.

Perhaps the problem is that the master socket *doesn't* get closed?
I see that pexpect closes all file descriptors in the child before
invoking exec. Could it be that you are starting addition child
processes which inherit the master socket?

Regards,
Martin
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to