2017-02-02 3 views
1

Итак, я имею дело с проблемой в Windows, где я не могу убить процесс, порожденный с помощью shell.exec (...).shelljs - получение идентификатора процесса процесса, созданного процессом shelljs.exec()

Я создаю процесс так:

const shell = require('shelljs'); 

// ... 

let childProcess = shell.exec('someBinary --whatever', { async: true }); 

А затем пытается убить его, как это:

childProcess.kill(); 

Который работает на * Nix, но не на Windows, (почему-то) ,

Поэтому я пытаюсь получить идентификатор процесса («someBinary --whatever»), созданный процессом shell.exec(), и используя это, чтобы убить процесс в более позднее время.

Это тривиально, чтобы получить PID процесса shell.exec(), но я не могу решить, как получить PID процесса, который он порождает.

Любая помощь будет отличной.

ответ

0

Вы можете использовать taskkill с параметром /t, чтобы завершить все дочерние процессы вместе с родительским процессом, обычно известным как уничтожение дерева.

+0

Легенда. Cheers mate – ajcmurray

+0

@ajcmurray http://stackoverflow.com/help/someone-answers –

+0

Извините @ stdof-- Я догнал реализацию решения – ajcmurray

Смежные вопросы