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

누군가 이 코드 조각이 작동하도록 도와줄 수 있나요?

관련 정보