diff --git a/packages/cypress/plugins/cypress-preset.ts b/packages/cypress/plugins/cypress-preset.ts index adc50cdd57..0d163985d7 100644 --- a/packages/cypress/plugins/cypress-preset.ts +++ b/packages/cypress/plugins/cypress-preset.ts @@ -93,12 +93,20 @@ function startWebServer(webServerCommand: string) { } } else { return new Promise((res, rej) => { - treeKill(serverProcess.pid, (err) => { - if (err) { - rej(err); + if (process.platform === 'win32' || process.platform === 'darwin') { + if (this.childProcess.kill()) { + res(); + } else { + rej('Unable to kill process'); } - res(); - }); + } else { + treeKill(serverProcess.pid, (err) => { + if (err) { + rej(err); + } + res(); + }); + } }); } }; diff --git a/packages/nx/src/executors/run-commands/running-tasks.ts b/packages/nx/src/executors/run-commands/running-tasks.ts index 716ea67ccf..22c3111428 100644 --- a/packages/nx/src/executors/run-commands/running-tasks.ts +++ b/packages/nx/src/executors/run-commands/running-tasks.ts @@ -359,13 +359,21 @@ class RunningNodeProcess implements RunningTask { kill(signal?: NodeJS.Signals | number): Promise { return new Promise((res, rej) => { - treeKill(this.childProcess.pid, signal, (err) => { - if (err) { - rej(err); - } else { + if (process.platform === 'win32' || process.platform === 'darwin') { + if (this.childProcess.kill(signal)) { res(); + } else { + rej('Unable to kill process'); } - }); + } else { + treeKill(this.childProcess.pid, signal, (err) => { + if (err) { + rej(err); + } else { + res(); + } + }); + } }); }