From c274252737e078723d43ddcd1b7edbe1838cade7 Mon Sep 17 00:00:00 2001 From: "Zhuohuan LI (CARPE DIEM)" Date: Mon, 14 Nov 2016 15:31:46 +0800 Subject: [PATCH] add timeout for psTree? --- src/puppet-web/browser.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/puppet-web/browser.ts b/src/puppet-web/browser.ts index 98e6c0a4..6b1884e5 100644 --- a/src/puppet-web/browser.ts +++ b/src/puppet-web/browser.ts @@ -255,11 +255,20 @@ export class Browser extends EventEmitter { } public getBrowserPidList(): Promise { - log.silly('PuppetWebBrowser', 'getBrowserPidList()') + log.verbose('PuppetWebBrowser', 'getBrowserPidList()') const head = this.setting.head return new Promise((resolve, reject) => { + /** + * Reject + */ + const timer = setTimeout(() => { + const e = new Error('clean() psTree() timeout.') + log.error('PuppetWebBrowser', e.message) + reject(e) + }, 10 * 1000) + psTree(process.pid, (err, children) => { if (err) { reject(err) @@ -289,6 +298,10 @@ export class Browser extends EventEmitter { return matchRegex.test('' + child.COMMAND + child.COMM) }).map(child => child.PID) + /** + * Resolve + */ + clearTimeout(timer) resolve(pids) return }) -- GitLab