您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

以编程方式执行和终止python中长时间运行的批处理

5b51 2022/1/14 8:21:25 python 字数 2558 阅读 494 来源 www.jb51.cc/python

我一直在寻找一种方法来启动和终止在python中长期运行的“批处理作业”.现在我正在使用“os.system()”在每个子进程中启动一个长时间运行的批处理作业.正如您可能已经猜到的那样,“os.system()”在子进程(孙子进程?)中产生了一个新进程,因此我不能从祖父进程中终止批处理作业.为我刚才描述的内容提供一些可视化:Main (grandparent

概述

我一直在寻找一种方法来启动和终止在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()的替代方法,以便从主进程中删除批处理作业?

谢谢 !!

来自文档:

The subprocess module allows you to
spawn new processes,connect to their
input/output/error pipes,and obtain
their return codes. This module
intends to replace several other,
older modules and functions
,such as:

os.system
os.spawn
os.popen
popen2
commands

所以…如果您使用的是Python 2.4,则子进程是os.system的替代品

要停止进程,请查看Popen对象的terminate()和communic()方法.

总结

以上是编程之家为你收集整理的以编程方式执行和终止python中长时间运行的批处理全部内容,希望文章能够帮你解决以编程方式执行和终止python中长时间运行的批处理所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶