2012-05-01 19 views

Odpowiedz

17

W krótkim użytku: process.send()

Dłuższy przykład, pisałem jakiś czas temu o nazwie forktest.js:

var cp = require('child_process'); 

if (!process.send) { 
    var p = cp.fork(__dirname + '/forktest'); 
    p.send({ 
    count: 10 
    }); 
    p.on('message', function(data) { 
    process.exit(0); 
    }); 
} else { 
    process.on('message', function(data) { 
    console.log(data); 
    data.count--; 
    if (data.count === 0) { 
     process.send({}); 
     process.exit(0); 
    } 
    var p = cp.fork(__dirname + '/forktest'); 
    p.send(data); 
    p.on('message', function(data) { 
     process.send(data); 
     process.exit(0); 
    }); 
    }); 
} 
+0

'if (proces . argv [2]) 'każdy inny lepszy sposób identyfikacji master/child –

+3

Myślę, że może być jaśniej używać:'! process.send', który jest prawdziwy, jeśli ten proces nie jest dzieckiem drugiego. –

+0

@DanD. nie do końca prawdziwe, ponieważ IPC nie może zostać utworzony i nie będzie metody wysyłania. – senz

Powiązane problemy