Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

death

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

death

Gracefully cleanup when termination signals are sent to your process.

  • 1.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
107K
decreased by-31.94%
Maintainers
1
Weekly downloads
 
Created
Source

Node.js - death

Gracefully cleanup when termination signals are sent to your process.

Why?

Because adding clean up callbacks for uncaughtException, SIGINT, and SIGTERM is annoying. Ideally, you can use this package to put your cleanup code in one place and exit gracefully if you need to.

Operating System Compatibility

It's only been tested on POSIX compatible systems. Here's a nice discussion on Windows signals, apparently, this has been fixed/mapped.

Installation

npm install death

Example

var ON_DEATH = require('death'); //this is intentionally ugly

ON_DEATH(function(signal, err) {
  //clean up code here
})

Usage

By default, it sets the callback on SIGINT, SIGQUIT, and SIGTERM.

Signals

  • SIGINT: Sent from CTRL-C
  • SIGQUIT: Sent from keyboard quit action.
  • SIGTERM: Sent from operating system kill.

More discussion and detail: http://www.gnu.org/software/libc/manual/html_node/Termination-Signals.html and http://pubs.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html and http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap11.html.

AS they pertain to Node.js: http://dailyjs.com/2012/03/15/unix-node-signals/

Want to catch uncaughtException?

No problem, do this:

var ON_DEATH = require('death')({uncaughtException: true}) 
Want to know which signals are being caught?

Do this:

var ON_DEATH = require('death')({debug: true})

Your process will then log anytime it catches these signals.

Want to catch SIGHUP?

Be careful with this one though. Typically this is fired if your SSH connection dies, but can also be fired if the program is made a daemon.

Do this:

var ON_DEATH = require('death')({SIGHUP: true})
Why choose the ugly "ON_DEATH"?

Name it whatever you want. I like ON_DEATH because it stands out like a sore thumb in my code.

Want to remove event handlers?

If you want to remove event handlers ON_DEATH returns a function for cleaning up after itself:

var ON_DEATH = require('death')
var OFF_DEATH = ON_DEATH(function(signal, err) {
  //clean up code here
})

// later on...
OFF_DEATH();

License

(MIT License)

Copyright 2012, JP Richardson jprichardson@gmail.com

Keywords

FAQs

Package last updated on 18 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc