0.1.0 • Published 11 years ago
lsof v0.1.0
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 lsofBuild 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' } ]
*
*/
}