NodeJS停止并从批处理开始

时间:2019-02-15 01:25:53

标签: 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文件。

1 个答案:

答案 0 :(得分:1)

如果您想强制重新运行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函数来重新运行代码(因为从exec开始很长)。