On Wed, Dec 10, 2014 at 4:11 AM, Robert Clove <cloverob...@gmail.com> wrote: > I am facing a problem in python coding that is > > I have a client server program(programs a re in c code and client and server > are its executable) on Linux machine. > To run client i do this ./strace -c client and to run server i type this > ./strace -c server > > When i give ctrl+c to client i see some output on the terminal, i want that > output in the file i mean i want to send the ctrl+c signal programmatic ally > to client after a minute and write the output in the file. > > if i use subprocess.Popen to execute ./strace -c client and give ctrl+c > signal i don''t see any output on the terminal but if i see os.system to > execute ./strace -c client i see the output on terminal.Now i want to send > the ctrl+c signal to os.system and write the terminal output into a file.
I'm not entirely sure what you're trying to do here, but strace produces its output on Standard Error (aka "stderr"). You can simply redirect that to a file. That's the normal strace program. You might be running something completely different, since you're running "./strace"; but I would suggest that it probably uses either stderr or stdout ("Standard Output"), and you could redirect either or both. Try this, at the terminal (no Python involved): ./strace -c client >client_out 2>client_err Then press Ctrl-C, and see which of the files has the output. Based on that, you could configure subprocess.Popen to send the appropriate stream to a file. ChrisA -- https://mail.python.org/mailman/listinfo/python-list