代码:#!/usr/bin/envnode//npminstallsync-promptvarprompt=require('sync-prompt').prompt;varname=prompt('whatisyourname?');console.log('Hello'+name);varfruit=prompt('whatisyourfavoritefruit?');console.log('metoo');process.on('SIGINT',function(){process.exit(0);});console.log('thiswouldbeprintafteryoutypeCTRL+C');process.exit(0);输出结果:[honwhy@localhostnodejs]$./example.jswhatisyourname?honeyHellohoneywhatisyourfavoritefruit?^CmetoothiswouldbeprintafteryoutypeCTRL+C由于process.on是异步执行的,所以在程序退出前还会输出metoo和thiswouldbe...等语句。有没有办法在程序(process)捕获到SIGINT后同步方式执行,直接退出程序呢?UPDATE对原作者的模块源码做了一点修改了,提交了pullrequest,不过貌似提交失败了,等待结果中。issue地址:https://github.com/shovon/sync-prompt/pull/9(2014年7月7日18:39:17)
回首忆惘然
慕容3067478
相关分类