如何从node.js脚本生成新进程并退出?

时间:2014-02-23 09:42:17

标签: node.js phantomjs casperjs spookyjs

我有一个nodeJS命令行脚本,它通过casperJS / spookyJS使用phantomJS与网站交互。重定向事件阻止我的进程正常工作。我如何响应重定向,生成一个新进程并终止已重定向的进程?

e.g:

spooky.on('navigation.requested', function(url, navigationType, navigationLocked, isMainFrame){
    if (url.toString().match(/(http:\/\/url(.|\n)to(.|\n)match\/client\/authentication\/login)/i)) {
        utils.log('redirect happened');
        //get my own process id, launch a new process, get that id.
        //kill this id?
    }
});

我将如何:

  • 获取当前正在运行的节点进程的进程ID(一个 运行上面的代码 - 进程A)?
  • 产生一个独立于的新节点进程(进程B) 过程A
  • 杀死进程A

即使进程A已终止,进程B仍应继续运行。我是否需要第三个节点流程(C)来管理流程A和B?

1 个答案:

答案 0 :(得分:0)

child_process.spawn()中使用'detached' option您可能还想从进程中分离tty(使用nohup实用程序)