sigintdeprecated

Cleaner process interrupt handling.

Usage no npm install needed!

<script type="module">
  import sigint from 'https://cdn.skypack.dev/sigint';
</script>

README

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();
    }
});