1.0.0 • Published 9 years ago

sigint v1.0.0

Weekly downloads
44
License
MIT
Repository
github
Last release
9 years ago

sigint

Cleaner process interrupt signal handling.

Hooks standard input in raw mode to enable interupts in Windows as well as to hide the "^C" echoed to the terminal.

Installation

npm install sigint --save

Example

var sigint = require('sigint').create();

sigint.on('signal', function(source, count) {
	if (source === 'keyboard' && count === 1) {
		console.log('press Ctrl+C again to quit');
	} else {
		process.exit();
	}
});

You can bind to only keyboard or kill interrupts.

var sigint = require('sigint').create();

sigint.on('keyboard', function(count) {
	if (count === 1) {
		console.log('press Ctrl+C again to quit');
	} else {
		process.exit();
	}
});

sigint.on('kill', function(count) {
	process.exit();
});

You can also use the process "SIGINT" event directly.

var sigint = require('sigint').create();

process.on('sigint', function() {
	if (sigint.source() === 'keyboard' && sigint.count() === 1) {
		console.log('press Ctrl+C again to quit');
	} else {
		process.exit();
	}
});