當您創建子進程時,可以將其分配給一個變量,以便稍後可以引用它。在這種情況下,您可能希望將其添加到對象或數組中,以便可以引用一組正在運行的進程。
例如,您可以參考spawn或exec的文檔。
一個要發送到所創建的子進程的命令的方法是使用signals,如child.kill('SIGSOMETHING');
例如:
var spawn = require('child_process').spawn;
function spawnChild() {
var cmd = spawn('cmd', ['-p1', 'param']);
cmd.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
cmd.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
cmd.on('close', function (code) {
console.log('child process exited with code ' + code);
});
// Save a reference to this child
children.push(cmd);
}
// Spawn 5 children
for (var i = 0; i < 5; i++) {
spawnChild();
}
// Send a signal after 5 seconds
setTimeout(function(){
for (var i in children) {
var child = children[i];
console.log('Sending signal to child with PID: ' + child.pid);
child.kill('SIGSOMETHING');
}
}, 5000);