node.js - NodeJS 批量停止和启动

标签 node.js batch-file

我试图每n 分钟批量启动和停止一个nodejs 应用程序。这是我到目前为止所拥有的:

node index.js
pause

我认为执行此操作的方法是使用 for 循环并等待 n 分钟,然后停止应用程序。问题是,如何通过批处理停止nodejs应用程序?

我尝试过:

node index.js
sleep 30 //sleeps for 30 seconds
node index.js
sleep 30

问题是,它永远不会休眠 30 秒,因为我的 Node js 应用程序永远不会结束,因此它不会进入下一行。是否有办法停止程序然后继续使用批处理文件。

我说的是 .bat 文件。

最佳答案

如果你想强制重新运行index.js中的所有内容,您可以尝试使用bot.js (或您想要的任何名称)child_process.exec :

const { exec } = require('child_process');
const loop = () => exec('node index.js', (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});
loop();
setInterval(loop, 30000);

如果您只想运行 index.js 内的代码,您可以使用loop function 是您想要重新运行的代码(因为以 exec 开头很长)。

关于node.js - NodeJS 批量停止和启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54701488/

相关文章:

mysql - 如何创建执行多个sql文件的批处理文件

batch-file - 防止批处理修改器删除文件名中的插入符

javascript - Node JS 请求以字符串形式返回

mysql - NodeJs mySql 仅获取一个结果

node.js - Mean.IO + Heroku 构建失败错误 : ENOENT, 没有这样的文件或目录 '/app/bower_components/jquery/dist/jquery.min.map'

node.js - 访问 Node 上的 Windows 快捷方式 (.lnk) 数据

java - 如何以管理员身份从 Java 程序运行批处理文件

node.js - Node -exceljs : writing to file breaks fomulas in the file

xml - Powershell如何仅替换给定数量的火柴?

windows - 在使用 get-content 回显到屏幕时,如何启用 powershell 来解释 ansi 颜色代码?