得到完成的QProcess的{pid

时间:2017-03-15 01:46:42

标签: python pyqt qprocess

我正在尝试获得完成的QProcess的PID,如下所示:

proc = QProcess.start()
proc.finished.connect(self.finished)

def finished(self):
    self.sender().pid()

如果进程为closed,QProcess.pid()将返回0,而QProcess.finished()只会在进程完成后调用,所以我只能得到0 ...我怎么能解决这个问题?我试图想办法在完成时不必使用PID,但此刻就是我必须做的事情。

我试过了proc.aboutToClose.connect(self.finished)但是这从未返回任何东西,所以它似乎没有发出信号,但如果我可以让它发挥作用,这将是一个很好的解决方案。

1 个答案:

答案 0 :(得分:0)

Ekhumoro给出了答案,解决方案是通过PID命名进程,因此您以后只需查询对象名称就可以获得它:

proc.setObjectName(str(proc.pid()))