diff --git a/packages/scripts/src/Subprocess.ts b/packages/scripts/src/Subprocess.ts index bf80ea7..a8fa937 100644 --- a/packages/scripts/src/Subprocess.ts +++ b/packages/scripts/src/Subprocess.ts @@ -36,15 +36,14 @@ export class Subprocess { reject(new Error(`"${this.command}" exited with code ${code}`)) } }) - let exited = false - subprocess.on('exit', () => exited = true) subprocess.on('error', reject) - process.on('exit', () => { - if (!exited) { - subprocess.kill() - } - }) + const kill = () => { + process.stderr.write(`Killing ${this.command} ${this.args.join(' ')}\n`) + subprocess.kill() + } + process.on('exit', kill) + subprocess.on('exit', () => process.removeListener('exit', kill)) }) } }