Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Process lsof parser
branch: master

0.1.0

latest commit 628a457434
Dav Glass authored
Failed to load latest commit information.
examples
lib allow lookup of UDP ports
test allow lookup of UDP ports
.gitignore Updated to latest versions of things
.travis.yml Updated to latest versions of things
LICENSE Updated License File
README.md Added Travis badge to README
package.json 0.1.0

README.md

lsof For Node

A simple lsof processor for node. This is handy when debugging long apps. You can load this and call it from your status commands to see how many open file descriptors your process has.

Install

npm install lsof

Build Status

Build Status

Usage

var lsof = require('../lib/lsof');

lsof.counters(function(data) {
    console.log(data);
    /*
    *
    * { pid: 24231
    *   , user: 'davglass'
    *   , open: 12
    *   , types: { dir: 1, reg: 3, chr: 3, pipe: 5 }
    *   }
    *
    */
});


lsof.raw(function(data) {
    console.log(data);
    /**
    * [ { command: 'node'
    *   , pid: '24231'
    *   , user: 'davglass'
    *   , fd: 'txt'
    *   , type: 'REG'
    *   , device: '14,1'
    *   , 'size/off': '5139784'
    *   , node: '15331212'
    *   , name: '/usr/local/bin/node'
    *   }
    * , { command: 'node'
    *   , pid: '24231'
    *   , user: 'davglass'
    *   , fd: 'txt'
    *   , type: 'REG'
    *   , device: '14,1'
    *   , 'size/off': '1054960'
    *   , node: '7477054'
    *   , name: '/usr/lib/dyld'
    *   }
    * , { command: 'node'
    *   , pid: '24231'
    *   , user: 'davglass'
    *   , fd: 'txt'
    *   , type: 'REG'
    *   , device: '14,1'
    *   , 'size/off': '205565952'
    *   , node: '15630602'
    *   , name: '/private/var/db/dyld/dyld_shared_cache_x86_64'
    *   }
    * , { command: 'node'
    *   , pid: '24231'
    *   , user: 'davglass'
    *   , fd: '0u'
    *   , type: 'CHR'
    *   , device: '16,2'
    *   , 'size/off': '0t183952'
    *   , node: '1355'
    *   , name: '/dev/ttys002'
    *   }
    * ]
    */
});

// Or, inspect a port in use
lsof.rawTcpPort(11211, function(data) {
    console.log(data);
    /*
     * [ { state: 'listen',
     *     command: 'memcached',
     *     pid: '183',
     *     user: 'matt',
     *     fd: '28u',
     *     type: 'IPv6',
     *     device: '0xffffff80121a3600',
     *     'size/off': '0t0',
     *     node: 'TCP',
     *     name: 'localhost:11211' },
     *   { state: 'listen',
     *     command: 'memcached',
     *     pid: '183',
     *     user: 'matt',
     *     fd: '29u',
     *     type: 'IPv4',
     *     device: '0xffffff8013f90500',
     *     'size/off': '0t0',
     *     node: 'TCP',
     *    name: 'localhost:11211' } ]
     *
     */
}
Something went wrong with that request. Please try again.