Javascript 批处理:如何使用node.js按名称关闭正在运行的批处理文件

Javascript 批处理:如何使用node.js按名称关闭正在运行的批处理文件,javascript,node.js,process,discord.js,child-process,Javascript,Node.js,Process,Discord.js,Child Process,我想知道如何使用node.js中的子进程或任何东西关闭正在运行的批处理文件 这是子进程中exec的一个示例 const{exec,spawn}=require('child_process'); exec('my.bat',(err,stdout,stderr)=>{ 如果(错误){ 控制台错误(err); 返回; } 控制台日志(stdout); }); 您可以检索由bat文件执行生成的PID,而不是使用exec use spawn。调用process.kill(PID)以终止正在运行的bat

我想知道如何使用node.js中的子进程或任何东西关闭正在运行的批处理文件

这是子进程中exec的一个示例

const{exec,spawn}=require('child_process');
exec('my.bat',(err,stdout,stderr)=>{
如果(错误){
控制台错误(err);
返回;
}
控制台日志(stdout);
});

您可以检索由bat文件执行生成的PID,而不是使用exec use spawn。调用process.kill(PID)以终止正在运行的bat文件

var spawn = require('child_process').spawn;
var child = spawn('my.bat', {detached: true});
process.kill(child.pid);

为了在使用
'child\u process'
时终止生成的进程,您需要通过
exec()
返回创建的ChildProcess引用

然后,您可以使用进程自己的API终止该进程,即执行
childProcess.kill()

完整示例:

const{exec,spawn}=require('child_process');
const childProcess=exec('my.bat',(err、stdout、stderr)=>{
//显式终止进程
childProcess.kill();
如果(错误){
控制台错误(err);
返回;
}
控制台日志(stdout);
});
在node.js文档中找到更多详细信息


如果该命令类似于I type command:start它是启动bat文件,然后I键入stop命令,那么如何使其停止?因为这是命令?谢谢。启动时流程的PID更改,就像我在流程中启动流程一样,它将更改PID