[code python]
class T(QtCore.QThread):
outputReady = QtCore.pyqtSignal(object)
errorReady = QtCore.pyqtSignal(object)
inputNeeded = QtCore.pyqtSignal(object)
def __init__(self):
super(T, self).__init__()
self.process = QtCore.QProcess()
self.process.moveToThread(self)
self.signal = QtCore.SIGNAL("signal")
self.connect(self.process,SIGNAL("readyReadStandardOutput()"),self,SLOT("onReadyRead()"))
self.connect(self.process,SIGNAL("started()"),self,SLOT("onStarted()"))
self.connect(self.process, QtCore.SIGNAL("readyReadStandardError()"),self,SLOT("readStdErr()"))
self.connect(self.process,SIGNAL("readyReadStandardOutput()"),self,SLOT("onReadyRead()"))
def run(self):
cmd="casperjs %s"%(js)
self.process.start(cmd);
# self.process.waitForFinished()
[/code]
на этот слот повешен клик по кнопке Exit
[code python]
def appExit(self):
self.t.process.kill()
sys.exit()
[/code]
При запуске программы видим в процессах
casperjs и phantomjs
если закрыть программу casperjs убивается а phantomjs остается
Аналогичное происходит если в процессе запускать шел скрипт с какой нибудь долгоиграющей командой внутри
например
chcp 1251
ping -n 1000 ya.ru
когда прогу закрываеш PING.exe продолжает висеть в процессах
если кто не понял откуда взялся phantomjs обьясняю, каспер это обертка для фантома и работает он через него. Тобиш потух каспер - потух фантом, так должно быть.