On Windows another option is to use tasklist.exe:
Syntax: tasklist.exe /NH /FI "PID eq processID"
def IsProcessRunning( processId ):
ps= subprocess.Popen(r'tasklist.exe /NH /FI "PID eq %d"' % (processId), shell=True, stdout=subprocess.PIPE)
output = ps.stdout.read()
ps.stdout.close()
ps.wait()
if processId in output:
return True
return False