【问题标题】:Close a subprocess that was opened in a new window in python关闭在 python 的新窗口中打开的子进程
【发布时间】:2021-01-01 00:59:05
【问题描述】:

我有一个运行 python 脚本的 .BAT 文件,该脚本可能需要几个小时才能完成,(我需要在最多 x 小时后结束它)

我正在尝试找到一种方法来使用 python 来安排这个。

我的想法是创建一个 .PY 来初始化这个 .BAT 文件,然后放置一个 time.sleep,以某种方式关闭之前启动的那个 .BAT。

subprocess.Popen('C.bat', creationflags=subprocess.CREATE_NEW_CONSOLE)
time.sleep(14400)
'''Somehow close the above started .BAT'''

然后我必须将其包装在一个 while 循环中以使其重复。

【问题讨论】:

    标签: python batch-file subprocess


    【解决方案1】:

    你可以通过pid关闭它

    process = subprocess.Popen('C.bat', creationflags=subprocess.CREATE_NEW_CONSOLE,stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
    time.sleep(14400)
    os.killpg(os.getpgid(process .pid), signal.SIGTERM)
    

    【讨论】:

      猜你喜欢
      • 2015-06-12
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      相关资源
      最近更新 更多