He estado buscando una manera de empezar y terminar una prolongada "batch" en Python mediante programación. En este momento estoy usando "os.system()" para iniciar un trabajo por lotes de larga ejecución dentro de cada proceso hijo. Como habrás adivinado, "os.system()" genera un nuevo proceso dentro de ese proceso hijo (¿proceso de nieto?), Por lo que no puedo eliminar el trabajo por lotes del proceso de gran padre. Para dar una visualización de lo que acabo de describir:ejecución y terminación de un proceso por lotes de larga duración en Python
Main (grandparent) process, with PID = AAAA
|
|------> child process with PID = BBBB
|
|------> os.system("some long-running batch file)
[grandchild process, with PID = CCCC]
Por lo tanto, mi problema es que no puedo matar el proceso nieto del abuelo ...
Mi pregunta es, ¿hay una manera de iniciar una trabajo por lotes de larga ejecución dentro de un proceso hijo, y poder matar ese trabajo por lotes simplemente terminando el proceso secundario? ¿Cuáles son las alternativas a os.system() que puedo usar para poder eliminar el trabajo por lotes del proceso principal?
Gracias!