gpt4 book ai didi

python子进程的使用

转载 作者:行者123 更新时间:2023-12-01 06:02:40 25 4
gpt4 key购买 nike

抱歉,如果这个问题之前已被问过 100 次,不幸的是,如果是的话,我还没有找到。我正在编写一个 python 脚本,它将生成一个后台进程并监视它以查看它是否已完成。我已经看到了 os.system 命令,现在建议使用 subprocess.call,但这似乎会阻止程序直到进程完成。

我的最终目标是实现以下目标:

1) 程序运行并开始处理信息

2) 程序进行到一半时,它将启动一个需要同时运行的 Windows DOS 程序

3) 程序继续运行并继续处理数据。

4) 程序监视DOS程序并在其退出时发送最终信息。但 DOS 程序必须退出才能运行此步骤。

如果有人能指出我正确的方向,那就太好了。

<小时/>

更多信息:我正在尝试利用 Securecrt 中内置的 python 处理器。它似乎可以很好地为程序打开 CMD 窗口,但它不会打印出任何中间命令(在本例中仅启用),直到我终止子进程。

import os

import subprocess


def Main()

crt.Screen.Synchronous = True

VMCOMMAND = '\"C:\\Program Files\\VMWare\\VMware OVF Tool\\ovftool.exe\" ' + '--name=test' + ' C:\\temp\\test.ova' + ' vi://root:test@1.1.1.1'

from subprocess import Popen


p = Popen(VMCOMMAND)

crt.Screen.Send(chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))


returncode = p.wait()

crt.Screen.Send("should not see enable" + chr(13))

Main ()

最佳答案

使用Popen构造函数:

from subprocess import Popen

# start program
p = Popen(["program.exe", "arg1"])
# do other stuff here
# ...
# at the end wait for the program to exit
returncode = p.wait()
# run final step here

关于python子进程的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9474725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com