subprocess and PPID
Michele Petrazzo
michele.petrazzo at TOGLIunipex.it
Thu Nov 6 02:48:52 EST 2008
Jorgen Grahn wrote:
> On Wed, 5 Nov 2008 08:19:34 -0800 (PST), saju.pillai at gmail.com
> <saju.pillai at gmail.com> wrote:
>> On Nov 5, 5:12 pm, Michele Petrazzo
>> <michele.petra... at TOGLIunipex.it> wrote:
>>> Hi all, I believe that this is a *nix question, but since I'm
>>> developing in python, I'm here.
>>>
>>> I have a code that execute into a "Popen" a command (ssh). I need
>>> that,
>
> What's 'a "Popen"'? Is it os.popen or one of its variants?
>
Popen is the default python Popen:
from subprocess import Popen, PIPE
cmd = "ssh -C -N -i keys/id_rsa_key -L remote:ip:local who at where"
cmd_p = Popen(cmd.split(), stdout=PIPE, stderr=PIPE)
> Do you read from it or write to it? If you do both, you should use
> something like the third-party module pexpect instead.
>
Nothing. I do only a tunnel
>> To reliably have the child exit when the parent exits, you would
>> have to poll for the parent from the child and do a exit when the
>> child detects that the parent has gone away.
>
> But in the special case where he's feeding data into "ssh somewhere
> somecmd" or pulling data from it, a crash of the parent should make
> "somecmd" exit because it sees EOF, and thus make the ssh process
> end. Sounds relatively risk-free -- but it depends on "somecmd".
>
Interesting. So, how I have to modify my code (if I can)? Add an stdin?
> /Jorgen
>
Thanks,
Michele
More information about the Python-list
mailing list