私はLinuxベースのアプリを開発していますが、現在、Webブラウザを呼び出してさらにタスクを実行する必要があるため、直面していますが、問題はプログラムがスタックして終了しないことです。スレッドを使用して終了しようとしましたが、割り込みを受信せず、スレッドが無限に実行されます。以下は、私が試していたコードの基本バージョンです。問題が解決したことを願っています。
import time
import threading
import webbrowser
class CountdownTask:
def __init__(self):
self._running = True
def terminate(self):
self._running = False
def run(self):
url='http://www.google.com'
webbrowser.open(url,new=1)
c = CountdownTask()
t = threading.Thread(target=c.run)
t.start()
time.sleep(1)
c.terminate() # Signal termination
t.join() # Wait for actual termination (if needed)