在Express实例中,我用一个请求启动一个python脚本,然后用另一个脚本停止它。我倾向于在脚本完成后,子进程被终止,并创建一个新的子进程。基本上,我希望所有事情都发生在/
得到,并摆脱/stop_python
得到。
如何实现这一目标?
这是我的代码:
const express = require('express')
const router = express()
var python_process;
var process=0;
router.get('/', function(req, res) {
var PythonShell = require('python-shell');
var pyshell = new PythonShell('sum.py');
pyshell.end(function (err) {
if (err) {
console.log(err);
}
});
python_process = pyshell.childProcess;
res.send('Started.');
pyshell.stdout.on('data', function(data) {
console.log('Process:' +process)
console.log(data.toString());
//res.writeHead(200);
});
});
router.get('/stop_python', function(req, res) {
python_process.kill('SIGINT');
res.send('Stopped');
process += 1;
});
router.listen(6262, () => console.log('app listening on port 6262'));
sum.py
a = 2
b = 3
def summ():
return a+b
#summ()