Skip to content

Commit

Permalink
fix(Launcher): handle SIGTERM by default
Browse files Browse the repository at this point in the history
This patch starts listening to SIGTERM event to gracefully shutdown
chromium instance.

References puppeteer#1047.
  • Loading branch information
aslushnikov committed Nov 16, 2017
1 parent d8ac8fc commit 647d5f9
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ This methods attaches Puppeteer to an existing Chromium instance.
- `slowMo` <[number]> Slows down Puppeteer operations by the specified amount of milliseconds. Useful so that you can see what is going on.
- `args` <[Array]<[string]>> Additional arguments to pass to the Chromium instance. List of Chromium flags can be found [here](http://peter.sh/experiments/chromium-command-line-switches/).
- `handleSIGINT` <[boolean]> Close chrome process on Ctrl-C. Defaults to `true`.
- `handleSIGTERM` <[boolean]> Close chrome process on SIGTERM. Defaults to `true`.
- `timeout` <[number]> Maximum time in milliseconds to wait for the Chrome instance to start. Defaults to `30000` (30 seconds). Pass `0` to disable timeout.
- `dumpio` <[boolean]> Whether to pipe browser process stdout and stderr into `process.stdout` and `process.stderr`. Defaults to `false`.
- `userDataDir` <[string]> Path to a [User Data Directory](https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md).
Expand Down
4 changes: 3 additions & 1 deletion lib/Launcher.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@ class Launcher {
const listeners = [ helper.addEventListener(process, 'exit', forceKillChrome) ];
if (options.handleSIGINT !== false)
listeners.push(helper.addEventListener(process, 'SIGINT', forceKillChrome));
if (options.handleSIGTERM !== false)
listeners.push(helper.addEventListener(process, 'SIGTERM', killChrome));
/** @type {?Connection} */
let connection = null;
try {
Expand All @@ -134,7 +136,7 @@ class Launcher {
connection = await Connection.create(browserWSEndpoint, connectionDelay);
return Browser.create(connection, options, killChrome);
} catch (e) {
killChrome();
forceKillChrome();
throw e;
}

Expand Down

0 comments on commit 647d5f9

Please sign in to comment.