やちといいます。
環境:
FreeBSD 8.2R p3
node v0.6.14
SIGINTとかのsignalをうけとりたいと思い、下記のようなcodeを書きました。
tp.js
-------------------------------------------------------
process.on('SIGUSR1', function (){
console.log("usr1.");
process.exit(100);
});
process.on('SIGINT', function (){
console.log("interrupted.");
process.exit(200);
});
process.on('exit', function (){
console.log("exit.");
});
var c = 0;
while(true){
console.log("foo" + c);
c++;
// if (c == 10000) {
// process.exit(10);
// }
}
-------------------------------------------------------
で、$ node tp.js として、実行。他のterminalから$ killall -USR1 node としても、割り込みにより
console.logでの文言を出力したり、process.exit()によって止めたり出来ません。また、nodeを実行したterminalで
CTRL-Cをしても止まりません。
SIGINTのprocess.on()を削ると、CTRL-Cで止まるので、trapは出来ているような気がしています。が、
console.llogしている文言はいずれも出力されません。
なにか、指摘をお願いします。