2013-06-17 2 views
2

У меня есть локальное приложение node.js в Windows - возможно ли запустить \ kill локальное приложение .EXE и убить его в моем коде.start kill local EXE-приложение с Node.js

Возможно ли это? Если это так, я был бы рад увидеть пример.

Спасибо.

+0

+1 для очень интересного вопроса. Я предполагаю, что вы имеете в виду убить свое собственное приложение? – verybadalloc

+0

Спасибо за +1 - но я имею в виду внешний процесс (другая программа exe, которую я имею на машине) – ItayM

ответ

2

Если вы планируете убить свой собственный процесс узла, API процесса предоставляет method exit(), что действительно является оберткой для метода C exit(). Согласно документам, для определения успеха или отказа требуется параметр.

Одной из «интересных» вещей было бы внедрение контроллера для остановки вашего сервера. Что-то вроде этого:

app.post('/stop/server/now', function(){ 
    process.exit(0); 
}); 

EDIT Чтобы убить другие процессы, вам просто необходимо знать их PID (и имеют достаточно разрешения, чтобы убить другие процессы).

Прежде всего, чтобы получить pids, выполните команду для этого. В Linux, это было бы:

var exec = require('child_process').exec; 

exec("ps aux | grep 'process_to_kill' | grep -v grep | awk '{print $2}'", 
    function (error, stdout, stderr) { 
    console.log('stdout: ' + stdout); 
    if (error !== null) { 
     console.log('exec output: ' + error); 
    } 
}); 

Затем вы передаете эти ИДП к process.kill() API.

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