node package manager

lsof

List open file descriptors for your node process

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' } ]
     *
     */
}