Node.js 从节点脚本中运行节点脚本

Node.js 从节点脚本中运行节点脚本,node.js,shell,Node.js,Shell,我想使用节点计划在特定时间运行特定节点脚本。我可以在node.js中执行类似操作吗 var schedule = require('node-schedule'); //https://www.npmjs.com/package/node-schedule var j = schedule.scheduleJob('00 00 22 * * *', function () { console.log('Running XX node.js script ...'); Node

我想使用节点计划在特定时间运行特定节点脚本。我可以在node.js中执行类似操作吗

var schedule = require('node-schedule');

//https://www.npmjs.com/package/node-schedule
var j = schedule.scheduleJob('00 00 22 * * *', function () {
    console.log('Running XX node.js script ...');

    NodeShell.run(__dirname + '\\XX.js', function (err) {
        if (err) throw err;
        console.log('finished');
    });
});

不确定是否存在类似
NodeShell
的内容。欢迎其他选择。

您有几个选项,所有选项都列在列表中。简而言之:

  • child\u process.exec
    生成一个shell
  • child\u进程。fork
    派生节点进程
  • 子进程。生成
    生成进程
对于您的情况,要运行节点脚本,您可以使用如下内容:

var childProcess = require("child_process");
var path = require("path");
var cp = childProcess.fork(path.join(__dirname, "xx.js"));
cp.on("exit", function (code, signal) {
    console.log("Exited", {code: code, signal: signal});
});
cp.on("error", console.error.bind(console));

node.js中有许多方法可以生成进程。如果您不想使用
child\u process
模块创建新进程,
vm
是一种方法:为什么不直接使用require呢。运行节点脚本没有意义,但是一些bash或其他脚本看起来还可以!!!你为什么不能用一份工作来做呢?