Skip to content

Commit 9e07503

Browse files
author
Kartik Raj
authored
Use taskkill to kill processes on Windows (microsoft#22286)
For microsoft#22285
1 parent daab11d commit 9e07503

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/client/common/process/rawProcessApis.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,11 @@ export function shellExec(
7373
const disposable: IDisposable = {
7474
dispose: () => {
7575
if (!proc.killed) {
76-
proc.kill();
76+
if (proc.pid) {
77+
killPid(proc.pid);
78+
} else {
79+
proc.kill();
80+
}
7781
}
7882
},
7983
};
@@ -101,7 +105,11 @@ export function plainExec(
101105
const disposable: IDisposable = {
102106
dispose: () => {
103107
if (!proc.killed) {
104-
proc.kill();
108+
if (proc.pid) {
109+
killPid(proc.pid);
110+
} else {
111+
proc.kill();
112+
}
105113
}
106114
},
107115
};
@@ -219,7 +227,11 @@ export function execObservable(
219227
internalDisposables.push(
220228
options.token.onCancellationRequested(() => {
221229
if (!procExited && !proc.killed) {
222-
proc.kill();
230+
if (proc.pid) {
231+
killPid(proc.pid);
232+
} else {
233+
proc.kill();
234+
}
223235
procExited = true;
224236
}
225237
}),
@@ -279,6 +291,6 @@ export function killPid(pid: number): void {
279291
process.kill(pid);
280292
}
281293
} catch {
282-
// Ignore.
294+
traceVerbose('Unable to kill process with pid', pid);
283295
}
284296
}

0 commit comments

Comments
 (0)