【发布时间】:2010-09-09 20:50:06
【问题描述】:
我一直在寻找一种在 python 中启动和终止长期运行的“批处理作业”的方法。现在我正在使用“os.system()”在每个子进程中启动一个长时间运行的批处理作业。正如您可能已经猜到的那样,“os.system()”在该子进程(孙进程?)中生成了一个新进程,因此我无法从祖父进程中终止批处理作业。为我刚才描述的内容提供一些可视化:
Main (grandparent) process, with PID = AAAA
|
|------> child process with PID = BBBB
|
|------> os.system("some long-running batch file)
[grandchild process, with PID = CCCC]
所以,我的问题是我无法从祖父母那里杀死孙子进程......
我的问题是,有没有办法在子进程中启动长时间运行的批处理作业,并且能够通过终止子进程来终止该批处理作业? 我可以使用哪些替代 os.system() 以便从主进程中终止批处理作业?
谢谢!!
【问题讨论】:
标签: python operating-system batch-file subprocess multiprocessing