如何杀死 NodeJS 子执行进程?
How to kill a NodeJS child exec process?
我正在使用exec
函数从NodeJS执行一个Python程序]child_process
我希望通过单击按钮终止进程。
我正在使用 Windows11.
这是我的代码:
var process__ = undefined; // this is a global variable
function executePython(command_line_arguement){
const exec = require('child_process').exec;
process__=exec(`python program.py "${command_line_arguement}"`, { encoding: 'utf-8',detached : true }, (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}, ${stderr}`);
}else{
console.log(stdout);
}
});
function onButtonClick(){
process__.kill('SIGINT');
}
然而,这不会似乎停止或杀死 python 被触发的进程。
任何关于如何进行的指导都将非常有用。
提前致谢!!
我相信 windows 需要强制终止来终止进程,例如
exec('taskkill /F /T /PID ' + process__.pid);
// F - force terminate
// T - kill all sub-processes
// PID - Process Id that you're targetting
有关 taskkill 和标志的信息,请参阅 documentation
我正在使用exec
函数从NodeJS执行一个Python程序]child_process
我希望通过单击按钮终止进程。
我正在使用 Windows11.
这是我的代码:
var process__ = undefined; // this is a global variable
function executePython(command_line_arguement){
const exec = require('child_process').exec;
process__=exec(`python program.py "${command_line_arguement}"`, { encoding: 'utf-8',detached : true }, (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}, ${stderr}`);
}else{
console.log(stdout);
}
});
function onButtonClick(){
process__.kill('SIGINT');
}
然而,这不会似乎停止或杀死 python 被触发的进程。
任何关于如何进行的指导都将非常有用。
提前致谢!!
我相信 windows 需要强制终止来终止进程,例如
exec('taskkill /F /T /PID ' + process__.pid);
// F - force terminate
// T - kill all sub-processes
// PID - Process Id that you're targetting
有关 taskkill 和标志的信息,请参阅 documentation