Yes, if `p.communicate` finishes then the returncode will not be None as the [docs say](http://docs.python.org/2/library/subprocess.html#subprocess.Popen.returncode)