File tree Expand file tree Collapse file tree 1 file changed +16
-4
lines changed
src/client/common/process Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -73,7 +73,11 @@ export function shellExec(
73
73
const disposable : IDisposable = {
74
74
dispose : ( ) => {
75
75
if ( ! proc . killed ) {
76
- proc . kill ( ) ;
76
+ if ( proc . pid ) {
77
+ killPid ( proc . pid ) ;
78
+ } else {
79
+ proc . kill ( ) ;
80
+ }
77
81
}
78
82
} ,
79
83
} ;
@@ -101,7 +105,11 @@ export function plainExec(
101
105
const disposable : IDisposable = {
102
106
dispose : ( ) => {
103
107
if ( ! proc . killed ) {
104
- proc . kill ( ) ;
108
+ if ( proc . pid ) {
109
+ killPid ( proc . pid ) ;
110
+ } else {
111
+ proc . kill ( ) ;
112
+ }
105
113
}
106
114
} ,
107
115
} ;
@@ -219,7 +227,11 @@ export function execObservable(
219
227
internalDisposables . push (
220
228
options . token . onCancellationRequested ( ( ) => {
221
229
if ( ! procExited && ! proc . killed ) {
222
- proc . kill ( ) ;
230
+ if ( proc . pid ) {
231
+ killPid ( proc . pid ) ;
232
+ } else {
233
+ proc . kill ( ) ;
234
+ }
223
235
procExited = true ;
224
236
}
225
237
} ) ,
@@ -279,6 +291,6 @@ export function killPid(pid: number): void {
279
291
process . kill ( pid ) ;
280
292
}
281
293
} catch {
282
- // Ignore.
294
+ traceVerbose ( 'Unable to kill process with pid' , pid ) ;
283
295
}
284
296
}
You can’t perform that action at this time.
0 commit comments