약 40 분 동안 실행되는 명령 줄 응용 프로그램을 실행하는 아래 코드를 실행 중입니다. 이것이 실행되는 동안 내 QUIT 버튼에 액세스 할 수 없으므로 실행중인 응용 프로그램을 종료 할 수 없습니다. 아래 코드와 버튼은 각각 def
에 장착되어 있습니다. 내 응용 프로그램이 실행되는 동안 어떻게 작업 종료 버튼을 얻을 수 있는지에 대한 아이디어가 있습니까? stdout
에 뭔가가있을 때까지긴 Popen 명령을 실행하는 동안 종료 할 수 없습니다.
command1 = transporterLink + " -m verify -f " + indir1 + " -u " + username + " -p " + password + " -o " + logPath + " -s " + provider1 + " -v eXtreme"
master, slave = pty.openpty()
process = Popen(command1, shell=True, stdin=PIPE, stdout=slave, stderr=slave, close_fds=True)
stdout = os.fdopen(master)
global subject
subject = "Test"
while True:
wx.Yield()
line = stdout.readline()
line = line.rstrip()
print line
if "Returning 1" in line:
result1 = "Verify FAILED!"
subject = "FAILED! - "
self.sendEmail(self)
break
if "Returning 0" in line:
result1 = "Verify PASSED!"
subject = "PASSED! - "
self.sendEmail(self)
break
'wx.Yield()'를 설명하십시오. 이것은 GUI 응용 프로그램입니까? 어느 GUI 프레임 워크를 사용합니까? (우리는 추측 할 수는 있지만 그렇게해서는 안됩니다.) 위에서 보여준 코드는 어떻게 호출합니까? –
죄송합니다, 예, wxpython을 사용합니다. – speedyrazor