前提・実現したいこと
Subprocess.Popen()を実行し処理が完了していることを確認したいです。
import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * import time import threading import subprocess class MainWindow(QWidget): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setGeometry(300, 50, 300, 200) self.setWindowTitle('MainWindow') self.pushButton1 = QPushButton(self) self.pushButton1.setObjectName(u"pushButton") self.pushButton1.setGeometry(QRect(30, 60, 75, 40)) self.pushButton2 = QPushButton(self) self.pushButton2.setObjectName(u"pushButton2") self.pushButton2.setGeometry(QRect(120, 60, 75, 40)) self.pushButton3 = QPushButton(self) self.pushButton3.setObjectName(u"pushButton2") self.pushButton3.setGeometry(QRect(210, 60, 75, 40)) self.pushButton1.setText(QCoreApplication.translate("MainWindow", u"開始", None)) self.pushButton2.setText(QCoreApplication.translate("MainWindow", u"停止", None)) self.pushButton3.setText(QCoreApplication.translate("MainWindow", u"確認", None)) self.pushButton1.clicked.connect(self.ButtonPush1) self.pushButton2.clicked.connect(self.ButtonPush2) self.pushButton3.clicked.connect(self.ButtonPush3) def ButtonPush1(self): getcmd = "timeout 10" self.proc = subprocess.Popen(getcmd) print("終了") def ButtonPush2(self): self.proc.terminate() print("強制終了") def ButtonPush3(self): # ここにself.procが終了したのかを確認する処理が欲しい if __name__ == '__main__': app = QApplication(sys.argv) main_window = MainWindow() main_window.show() sys.exit(app.exec_())
ボタン1 ⇒ subprocessの開始
ボタン2 ⇒ subprocess強制終了
ボタン3 ⇒ subprocessが終わっているかの確認
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/30 06:31 編集
2021/10/30 09:05