在某种情况下,我们可能希望我们的客户端程序尽可能连续不断的运行在我们的系统中,并保持稳定。
以下几种方式可以帮助我们做到这一点:
1.崩溃监控
electron为我们提供了监听程序崩溃的事件:
Event: 'crashed'
返回:
event Event
killed Boolean
当渲染进程崩溃或被结束时触发
此事件是用来家庭渲染进程崩溃的,但是当主进程意外崩溃时也会触发该事件。
在监测到程序崩溃后,我们要让程序重新启动,此时我们要首先判断window对象是否被销毁,也就是主进程是否被杀死,还是渲染进程崩溃,同时作出不同的处理。
当mainWin被销毁时我们直接重启整个应用,使用如下api:
app.relaunch([options])
options Object (可选)
args String
execPath String (可选)
从当前实例退出,重启应用。
默认情况下,新的实例会和当前实例使用相同的工作目录以及命令行参数。 当设置了 args 参数时, args 将作为命令行参数传递。 当设置了 execPath ,execPath 将被执行以重新启动,而不是当前的应用程序。
请注意, 此方法在执行时不会退出当前的应用程序, 你需要在调用 app.relaunch 方法后再执行 app.