child_process.exec
/child_process.spawn
을 사용하여 새 프로세스를 포크 한 다음 child.kill
/process.kill
을 사용하여 종료합니다. cat
/ls
과 같은 간단한 바이너리 실행 파일에서 제대로 작동하며 하위 프로세스가 중단됩니다.Node.JS로 자식 프로세스가 죽지 않는다
그러나, 스크립트 (예를 들어 P1)그 포크 다른 자식 프로세스 (예를 들어 P2)에 도착, 전용 스크립트 인터프리터 (P1)가 살해 아닌 자식 프로세스 P2.
질문 : Node.JS와 같은 자식 프로세스 P2를 얻는 방법이 있습니까?
코드 run_and_kill('firefox')
으로 run_and_kill('ls -Al /usr/lib')
와 잘하지만, 확인되지 작동합니다
function run_and_kill(cmd) {
var exec = require('child_process').exec,
ls = exec(cmd);
console.log('Child process started: %d', ls.pid);
ls.on('exit', function(code, signal) {
console.log('exit with code %s and signal %s', code, signal);
});
ls.kill();
}
수동으로 죽일 수 있습니다 (P2는 SIGHUP을 무시합니다). - http://stackoverflow.com/questions/392022/best-way-to-kill-all-child-processes –
@AndreySidorov 수동으로 죽이는 방법/그 PID를 안다 고요? – Ghostoy
알다시피 -'ls.pid' (https://github.com/joyent/node/blob/master/lib/child_process.js#L250) –