var exec = require('child_process').exec
var spawn = require('child_process').spawn
test = exec('./testchild')
childpid = test.pid + 1
console.log(childpid)
endprocess = spawn('kill',['-9',childpid])
endprocess.stdout.on('data', function(data){
console.log('standard output:\n' + data)
})
endprocess.stderr.on('data', function(data){
console.log('standard error output:\n' + data)
})
endprocess.on('exit', function(code, signal){
console.log('child process exit, exit:' + code)
//test.pid = 0
console.log('current child process pid: ' + test.pid)
})
test.on('exit', function(code, signal){
console.log('child process closed with exit code ' + code)
console.log('receive signal ' + signal)
})
test.stdout.on('data', function(data){
console.log('standard output: \n' + data)
//child_process.spawn("kill",['-9','test.pid'])
//test.kill(signal = 'SIGTERM')
console.log('terminate the child process\n')
})
一开始总是没法终止子进程,后来打开任务管理器才发现,pid返回的值比它真正的值小1.
加1之后就可以终止了。