I want to run a program from python and find its memory usage. To do so I am using:
l=[\'./a.out\',\'<\',\'in.txt\',\'>\',\'out.txt\']
p=subprocess.Popen(l
You are using shell redirection characters in your call, but when you use subprocess, and set shell=False, you have to handle those pipes manually.
You seem to be passing those redirection characters directly as arguments to the a.out program.
Try running this in your shell:
./a.out '<' in.txt '>' out.txt
See if a.out terminates then as well.