Skip to content
Process lsof parser
JavaScript
Find file
Latest commit 628a457 Jul 22, 2014 @davglass 0.1.0
Failed to load latest commit information.
examples Add support for lsof inspection of ports Jul 21, 2012
lib
test
.gitignore
.travis.yml Updated to latest versions of things Apr 3, 2014
LICENSE
README.md
package.json 0.1.0 Jul 22, 2014

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.