[英]How can I kill a child_process spwaned by node.js/electron correctly in windows?
我正在使用 Electron、Python 和 Flask 在 ZAEA23489CE3AACDB43406EBB28E0Z 中开发应用程序。
我用
require('child_process').spawn('python', [_script,port])
启动一个child_process,但我无法正确终止这个child_process。
当 electron 应用程序关闭时,仍然有一个名为“python”的进程在后台工作。
我几乎尝试了所有方法,例如 p.kill(),或者使用 taskkill。
这是 python 代码:
from flask import Flask
import logiccode as mine
app = Flask(__name__)
@app.route('/hello')
def hello_world():
return mine.HelloWorld()
if __name__ == '__main__':
app.run(debug = True)
//create
pyProc = require('child_process').spawn('python', [_script,port])
if (pyProc != null) {
console.log('child process success\n')
console.log(pyProc.pid);
}
//kill
if(process.platform=='win32'){
require('child_process').spawn('taskkill',['/pid','/f','/t',pyProc.pid]);
}else{
pyProc.kill();
pyProc = null
pyPort = null
}
如果代码中有一些错误,请告诉我如何正确杀死这个 child_process。
希望现在还不算太晚,但我遇到了同样的问题,无法杀死 flask 的原因是因为调试模式设置为 True。 只需调用 app.run(),节点就会杀死 flask。
if __name__ == '__main__':
app.run()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.