微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。