2014-03-19 3 views
0

나는 다음과 Node.js를 코드가 : close 메소드가 호출을 얻을 수 없다 그러나자식 프로세스는 close 이벤트를 호출하지

var testProcess = spawn(item.testCommand, [], { 
    cwd: process.cwd(), 
    stdio: ['ignore', process.stdout, process.stderr] 
}); 

testProcess.on('close', function(data) { 
    console.log('test'); 
}); 

waitpid(testProcess.pid); 
testProcess.kill(); 

합니다.

내가 찾고있는 최종 결과는 프로세스를 spwan하고 스크립트가 해당 하위 프로세스가 완료 될 때까지 기다리는 것입니다 (waitpid()가 올바르게 수행되고 있음). 자식 프로세스의 출력/오류가 화면에 표시되기를 원합니다 (stdio 구성이 올바르게 수행되고 있음). 또한 close 이벤트 (종료 시도)에서 할 자식 프로세스를 닫을 때 코드를 수행하려고하지만 실행되지는 않습니다.

이벤트가 실행되지 않는 이유는 무엇입니까?

답변

0

waitpid()에서 보았습니다. exitCode를 사용하여 객체를 반환한다는 것을 알았습니다. exitCode의 값에 따라 특정 동작을 수행하도록 코드를 변경했습니다.

0

http://nodejs.org/api/process.html

Note that just because the name of this function is process.kill, it is really just a signal sender, like the kill system call. The signal sent may do something other than kill the target process.

당신은 신호 동안 킬() 호출을 지정할 수 있습니다.

관련 문제