¿Cómo verifico si un proceso está vivo en Python en Linux?

Tengo un identificador de proceso en Python. Sé que puedo matarlo con os.kill (), pero ¿cómo puedo comprobar si está vivo? ¿Hay una función incorporada o tengo que ir a la shell?

Utilice el módulo de subprocess para generar el proceso. Existe la función proc.poll () : devuelve None si el proceso aún está vivo, de lo contrario, devuelve el código de retorno del proceso.

http://docs.python.org/library/subprocess.html

os.kill no mata los procesos, les envía señales (su nombre no es os.kill ).

Si envía la señal 0, puede determinar si se le permite enviar otras señales. Un código de error indicará si se trata de un problema de permisos o de un proceso faltante.

Ver man 2 kill para más información.

Además, si el proceso es de su hijo, puede obtener un SIGCHLD cuando muera, y puede usar una de las llamadas de wait para resolverlo.