Writing to open subprocess pipes.

B

Brandon McGinty

All,
I have researched this both in the python documentation, and via google.
Neither subprocess nor os.popen* will do what I need.
First, I would instanshiate an ongoing shell, that would remain active
throughout the life of the socket connection.
I am trying to take commands, coming in from a standard python socket,
modify them, and then send them onto this shell, /bin/bash, for example.
The output of these modified commands will be received from the shell,
and sent back through the socket, possibly being modified further.
The connection on the other end of the socket will send multiple
commands, and will need output for each.
Both subprocess and os.popen* only allow inputput and output one time,
and the output to be read only when the process terminates.
I need input and output to be read and written continuously, during the
lifetime of the shell.
I hope this makes sense, and if not, I shall do my best to elaborate
further.
I appreciate all the help this group has given me in the past, and I
certainly appreciate any help you all can offer now.

Sincerely,
Brandon McGinty
 
N

Nobody

Both subprocess and os.popen* only allow inputput and output one time,
and the output to be read only when the process terminates.

This is incorrect; you can read from and write to the pipe as you wish.
However: you may have problems if the child process buffers its output,
which is the default behaviour for stdout when it isn't associated with a
tty.

On Unix, you can get around this issue using the pty module. I don't know
about Windows; look into what "expect" uses.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top