Bir GUI uygulaması (wxPython) oluşturuyorum. GUI uygulamasından başka bir (.exe) uygulamayı çalıştırmam gerekiyor. Alt işlem bir kullanıcı eyleminde bazı işlemleri gerçekleştirecek ve bir çıktıyı GUI uygulamasına döndürecektir.Farklı bir iş parçacığı üzerinde başka bir işlem nasıl çalıştırılır
Bu alt işlemi bir döngü içinde çalıştırıyorum, böylece alt işlem sürekli olarak yürütülür. Yaptığım şey bir iş parçacığı (yani gui donmuyor) ve bir döngüde alt işlemini başlatıyorum. Bunun en iyi yol olup olmadığından emin değil. Ana uygulama kapatma ise
self.thread = threading.Thread(target=self.run, args=())
self.thread.setDaemon(True)
self.thread.start()
def run(self):
while self.is_listening:
cmd = ['application.exe']
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
proc.wait()
data = ""
while True:
txt = proc.stdout.readline()
data = txt[5:].strip()
txt += data
Şimdi ise ne olur, iplik hala gelmedi bir kullanıcı eylemi bekliyor. Temiz bir şekilde nasıl çıkabilirim? GUI uygulaması çıktıktan sonra bile uygulama.exe işlemi işlem listesinde görülebilir. Her şeyi geliştirmek için herhangi bir öneri bekliyoruz.
sayesinde
Neden wx.Process'/'wx.Execute()' kullanmıyorsunuz? –