如何解决BATCH:如何使用 node.js 按名称关闭正在运行的批处理文件
我想知道如何使用子进程或 node.js 中的任何内容关闭正在运行的批处理文件
这是子进程中exec的例子
const { exec,spawn } = require('child_process');
exec('my.bat',(err,stdout,stderr) => {
if (err) {
console.error(err);
return;
}
console.log(stdout);
});
解决方法
为了在使用 'child_process'
时终止生成的进程,您需要返回创建的 ChildProcess 引用,在本例中为 exec()
。
然后您可以使用它自己的 API 终止该进程,即。做childProcess.kill()
。
完整示例:
const { exec,spawn } = require('child_process');
const childProcess = exec('my.bat',(err,stdout,stderr) => {
// explicitly kill the process
childProcess.kill();
if (err) {
console.error(err);
return;
}
console.log(stdout);
});
在 node.js 文档中查找更多详细信息
,您可以检索 bat 文件执行生成的 PID,而不是使用 exec 使用 spawn。调用process.kill(PID)杀死正在运行的bat文件
var spawn = require('child_process').spawn;
var child = spawn('my.bat',{detached: true});
process.kill(child.pid);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。