Этот ответ только для того, чтобы предоставить пример решения node-ffi, которое предложило entropo (выше) (как уже упоминалось, оно будет работать на linux):
это родительский процесс, он порождает дочерний процесс и затем завершается через 5 секунд:
var spawn = require('child_process').spawn;
var node = spawn('node', [__dirname + '/child.js']);
setTimeout(function(){process.exit(0)}, 5000);
это дочерний процесс (находится в child.js)
var FFI = require('node-ffi');
var current = new FFI.Library(null, {"prctl": ["int32", ["int32", "uint32"]]})
//1: PR_SET_PDEATHSIG, 15: SIGTERM
var returned = current.prctl(1,15);
process.on('SIGTERM',function(){
//do something interesting
process.exit(1);
});
doNotExit = function (){
return true;
};
setInterval(doNotExit, 500);
без current.prctl (1,15) ребенок будет работать вечно, даже если родитель умирает. Здесь это будет сигнализироваться с SIGTERM, который будет обработан изящно.