I am struggling to use subprocesses with python. Here is my task:
- Start an api via the command line (this should be no different than running any argument on the command line)
- Verify my API has come up. The easiest way to do this would be to poll the standard out.
- Run a command against the API. A command prompt appears when I am able to run a new command
- Verify the command completes via polling the standard out (the API does not support logging)
What I've attempted thus far:
1. I am stuck here using the Popen. I understand that if I use
subprocess.call("put command here")
this works. I wanted to try to use something similar to:
import subprocess
def run_command(command):
p = subprocess.Popen(command, shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
where I use run_command("insert command here")
but this does nothing.
with respect to 2. I think the answer should be similar to here: Running shell command from Python and capturing the output, but as I can't get 1. to work, I haven't tried that yet.