1.0.0 • Published 10 years ago

sigint v1.0.0

Weekly downloads
44
License
MIT
Repository
github
Last release
10 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();
	}
});