fix: Browser not getting closed on manual exit
This commit is contained in:
parent
90f9221a80
commit
489124a4a3
2 changed files with 17 additions and 17 deletions
|
|
@ -41,9 +41,20 @@ async function runWebview (events: EventEmitter, params: BrowserParams)
|
|||
|
||||
return new Promise((resolve, reject) =>
|
||||
{
|
||||
|
||||
const handleExit = () =>
|
||||
{
|
||||
resolve(true);
|
||||
console.log("Terminating Webview Worker");
|
||||
webviewWorker.terminate();
|
||||
};
|
||||
|
||||
webviewWorker.addEventListener('error', e =>
|
||||
{
|
||||
console.error(e.message);
|
||||
events.removeListener('exitapp', handleExit);
|
||||
// error doesn't termiate the worker, make sure it's unalived
|
||||
webviewWorker.terminate();
|
||||
reject(e.error);
|
||||
});
|
||||
|
||||
|
|
@ -56,12 +67,7 @@ async function runWebview (events: EventEmitter, params: BrowserParams)
|
|||
}
|
||||
});
|
||||
|
||||
events.on('exitapp', () =>
|
||||
{
|
||||
resolve(true);
|
||||
console.log("Terminating Webview Worker");
|
||||
webviewWorker.terminate();
|
||||
});
|
||||
events.on('exitapp', handleExit);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -94,6 +100,7 @@ async function runBrowser (events: EventEmitter, params: BrowserParams)
|
|||
{
|
||||
events.on('exitapp', () =>
|
||||
{
|
||||
console.log("Killing Browser");
|
||||
killBrowser(browser);
|
||||
resolve(true);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -172,17 +172,10 @@ export async function killBrowser (browser: Subprocess)
|
|||
{
|
||||
if (os.platform() === 'linux')
|
||||
{
|
||||
// kill chrome by your unique identifier
|
||||
await $`pkill -KILL -P ${browser.pid}`.quiet().nothrow();
|
||||
// we have to force kill the demon spawn for some reason, doesn't respond to SIGTERM
|
||||
await $`pkill -SIGKILL -P ${browser.pid}`.nothrow();
|
||||
} else
|
||||
{
|
||||
browser?.kill(15);
|
||||
browser?.kill('SIGTERM');
|
||||
}
|
||||
}
|
||||
|
||||
// --- Test Run ---
|
||||
// spawnBrowser({
|
||||
// browser: "chrome",
|
||||
// args: ["--window-size=1024,640", "--force-device-scale-factor=1.25"],
|
||||
// detached: true
|
||||
// });
|
||||
Loading…
Add table
Add a link
Reference in a new issue