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()

誰かがこのコードスニペットを機能させるのに役立ちますか?

ベストアンサー1

おすすめ記事