Python:仅当进程交互时才终止子进程

Python:仅当进程交互时才终止子进程

我需要使用不同的输入来测试循环中的进程。在我的情况下,如果它没有进行交互,那么它就成功了。如果它确实进入交互状态,我必须继续测试并终止进入交互状态的进程。

我尝试了几种方法但没有任何效果。这似乎部分有效,但在完成数千轮后,它往往会在退出时冻结计算机。

for filePath in filePaths:
    counter += 1
    command = "".join([components[0], '', components[1], filePath[:-1] + ' ', components[3]])
    print "round: " + str(counter)
    print "command", command

    subProcess = subprocess.Popen("exec " + command, stdout=subprocess.PIPE, shell=True)
    output = subProcess.stdout.readline()
    if len(output):
        print ["went interactive:",output]
        subProcess.kill()
    else:
        print "non-interactive"
        sys.exit()

有人可以帮我让这个代码片段工作吗?

相关内容