Xilium.CefGlue与SingleProcess
最近发现程序被异常终止之后,会自动重启,用Process Explorer检查之后发现程序启动之后有两个进程,进一步检查启动参数,发现额外的进程是由Xilium.CefGlue启动的,一旦主进程崩溃之后,这个子进程会自动启动到前台,导致看起来会自动重启
检查了代码之后发现有这样的设置:
var settings = new Xilium.CefGlue.CefSettings
{
SingleProcess = false,
MultiThreadedMessageLoop = true,
LogSeverity = Xilium.CefGlue.CefLogSeverity.Disable,
LogFile = "CefGlue.log",
IgnoreCertificateErrors=true
};
因为Xilium.CefGlue使用的Chromium内核,浏览器进程和渲染进程默认是分开的,所以会有子进程的存在,暂时没有好的办法解决这个问题,只能先暂时打开SingleProcess的标志,但是根据注释,打开之后可能稳定性有影响,只能先观察下了。
另外,在https://gitlab.com/xiliumhq/chromiumembedded/cefglue找到的支持SingleProcess的最后一个版本是3396,之后的版本就没有这个标志了。