npid

0.4.0 • Public • Published

A pid file manager for Node.js

Build Status NPM version

Manage a pid file in Node.js.

Installation

$ npm install npid

Unit tests

$ npm test

Usage

This module simply creates and manages a pid file for the entire duration of the program execution. The pid file is automatically deleted upon normal program exit. If a pid file already exists, an exception will be thrown.

var npid = require('npid');
 
try {
    var pid = npid.create('/var/run/chubaka.pid');
    pid.removeOnExit();
} catch (err) {
    console.log(err);
    process.exit(1);
}

Note that the pid file won't be removed when a program stops due to an uncaught exception or a unhandled signal. This can be avoided by specifying handlers for uncaught exceptions and signals that call process.exit or remove the pid file explicitly before exiting.

API

Static functions

npid.create(path, [force]): npid.Pid

  • path: pid file path
  • force: overwrite any existing pid file

Synchronously creates a pid file and returns a handle to it. Will throw an exception if a pid file already exists and the force parameter is false.

npid.remove(path): bool

  • path: pid file path

Synchronously removes a pid file. Does not throw if the pid file is missing or if the removal fails. Returns a boolean indicating whether the pid file removal succeeded.

Class Pid

Represents a handle to a pid file and expose an API to remove it either automatically at process exit or manually when the process exits due to an uncaught exception or a signal.

pid.remove(): bool

Synchronously removes the pid file. Does not throw if the pid file is missing or if the removal fails. Returns a boolean indicating whether the pid file removal succeeded.

pid.removeOnExit()

Removes the pid file on normal process exit.

License

This code is free to use under the terms of the MIT license.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.4.0
    4,551
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.4.0
    4,551
  • 0.3.2
    8
  • 0.3.1
    2
  • 0.3.0
    2
  • 0.2.0
    2
  • 0.1.0
    2

Package Sidebar

Install

npm i npid

Weekly Downloads

4,567

Version

0.4.0

License

none

Last publish

Collaborators

  • mathieu