0

I have a python program which should execute a command line (command line is a psexec command to call a batch file on the remote server) I used popen to call the command line. The batch on the remote server produces a return code of 0. Now I have to wait for this return code and on the basis of the return code I should continue my program execution. I tried to use .wait() or .check_output() but for some reason did not work for me.

cmd = """psexec -u CORPORATE\user1 -p force \\\sgeinteg27 -s cmd /c "C:\\Planview\\Interfaces\\ProjectPlace_Sree\\PP_Run.bat" """
p = subprocess.Popen(cmd, bufsize=2048, shell=True,
stdin=subprocess.PIPE, stdout=subprocess.PIPE)
p.wait()
print(p.returncode)
##The below block should wait until the above command runs completely.
##And depending on the return code being ZERO i should continue the rest of 
##the execution.

if p.returncode ==0:
    result = tr.test_readXid.readQuery(cert,planning_code)
    print("This is printed depending if the return code is zero")

Here is the EOF the batch file execution and the return code Can anybody help me with this ?

  • 1
    Possible duplicate of [Python popen command. Wait until the command is finished](http://stackoverflow.com/questions/2837214/python-popen-command-wait-until-the-command-is-finished) – Squashman Aug 22 '16 at 02:12
  • Thank you ! communicate() worked for me. With this I'm able to make my program wait until the Return code is zero. – sree nimmala Aug 25 '16 at 14:04

0 Answers0