En Python en Windows: deseo ejecutar algún código en un proceso por separado. Y no quiero que el padre espere que termine. Intenté esto:Ejecute un proceso y salga sin esperarlo
from multiprocessing import Process
from time import sleep
def count_sheeps(number):
"""Count all them sheeps."""
for sheep in range(number):
sleep(1)
if __name__ == "__main__":
p = Process(target=count_sheeps, args=(5,))
p.start()
print("Let's just forget about it and quit here and now.")
exit()
que inicia el proceso hijo y continúa ejecutándose. Sin embargo, cuando el padre llega al final, todavía espera que el niño salga.
¿Hay una manera de dejar que el padre abandonó incluso cuando el niño está en funcionamiento? Claro, podría simplemente ejecutar un nuevo intérprete de Python usando subprocess.Popen
y darle el recuento de ovejas como un guión separado.
Aún así, hay todo este módulo para jugar con los procesos de código Python, así que me gustaría tomar ventaja de que en lugar de la piratería en el sistema operativo. Además, sería increíble si el mismo código funcionara en todas partes donde lo hace Python, no solo en Windows.
Por aquí suelo ver el problema opuesto. – mob