使用subprocess.popen生成节点的im生成傀儡程序会话。但是,当节点作业花费太长时间时,python进程就会超时(我使用的是pythonrq,它内置了timeout)。
但是,当这种情况发生时。。python工作进程正常地结束了,但是我可以看到puppetter页面仍然在运行。python工作进程以某种方式与节点“断开连接”(kill信号没有被发送?)
我想nodejs/puppeeteer页被杀死(通过超时或键盘中断)。这就是我所拥有的,但是当命令行python进程被ctrl-c'd或rq超时时,puppeter页面仍然可见:
with Popen(command, shell=True, stdout=PIPE, stderr=PIPE) as process:
try:
print(process.pid)
process.wait()
stdout, stderr = process.communicate()
print("stdout")
print(stdout)
print("stderr")
print(stderr)
except JobTimeoutException:
pass
except KeyboardInterrupt:
try:
process.terminate()
except OSError:
pass
process.wait()
finally:
# if process.poll() is None:
print("process killed")
process.send_signal(signal.SIGINT)
# stdout, stderr = process.communicate()
暂无答案!
目前还没有任何答案,快来回答吧!