I am not sure what the return value of subprocess.call()
means.
Can I safely assume a zero value will always mean that the command executed suc
You are at the mercy of the commands that you call. Consider this:
test.py
#!/usr/bin/env python
success=False
if not success:
exit()
Then running your code (with cmd='test.py') will result in SUCCESS!!
merely because test.py does not conform to the convention of returning a non-zero value when it is not successful.
Yes, Subprocess.call
returns "actual process return code".
You can check official documentation of Subprocess.call and Subprocess.Popen.returncode
It is the return code, but keep in mind it's up to the author of the subprocess what the return code means. There is a strong culture of 0 meaning success, but there's nothing enforcing it.