如何在NW.JS中使用Node自动重启进程?

我这个项目是基于NW.JS开发的,当满足某个条件后,我需要重启客户端,但小弟我对NODE实在是不够了解,需要各位大神帮忙解决,谢谢了!!
无论是nw.js的方法亦或node的方法都行,只要能重启程序就好~

阅读 6.1k
3 个回答
var nwRestart = function () {
    var child, child_process = require('child_process');
    if (process.platform == "darwin") {
        child = child_process.spawn("open", ["-n", "-a", process.execPath.match(/^([^\0]+?\.app)\//)[1]], { detached: true });
    } else {
        child = child_process.spawn(process.execPath, [], { detached: true });
    }
    child.unref();
    require("nw.gui").Window.get().hide();
    process._nw_app.quit();
};
nwRestart();

这个适用于比较老的nw客户端,如果使用的nw版本比较新的话,需要相应的修改下,主要是最后的获取nw_app进行退出

无意间发现这个方法,发出来,记录一下。

App.restart = function() {
            var child,
            child_process = require("child_process"),
            gui = require('nw.gui'),
            win = gui.Window.get();
            if (process.platform == "darwin")  {
                child = child_process.spawn("open", ["-n", "-a", process.execPath.match(/^([^\0]+?\.app)\//)[1]], {detached:true});
           } else {
                child = child_process.spawn(process.execPath, [], {detached: true});
           }
            child.unref();
            win.hide();
            gui.App.quit();
}
摘自:Github@fov42550564
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题