psext
A node.js npm package for looking up running processes.
Install
$ npm install psext
Usage
Lookup process with specified pid
:
var ps = require('ps-node');
// A simple pid lookup
ps.lookup({ pid: 12345 }, function(err, resultList ) {
if (err) {
throw new Error( err );
}
var process = resultList[ 0 ];
if( process ){
console.log( 'PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments );
}
else {
console.log( 'No such process found!' );
}
});
Or use RegExp to filter command
and arguments
:
var ps = require('ps-node');
// A simple pid lookup
ps.lookup({
command: 'node',
arguments: '--debug',
}, function(err, resultList ) {
if (err) {
throw new Error( err );
}
resultList.forEach(function( process ){
if( process ){
console.log( 'PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments );
}
});
});
Also, you can use kill
to kill process by pid
:
var ps = require('ps-node');
// A simple pid lookup
ps.kill( '12345', function( err ) {
if (err) {
throw new Error( err );
}
else {
console.log( 'Process %s has been killed!', pid );
}
});
You can also pass arguments to lookup
with psargs
as arguments for ps
command(Note that psargs
is not available in windows):
var ps = require('ps-node');
// A simple pid lookup
ps.lookup({
command: 'node',
psargs: 'ux'
}, function(err, resultList ) {
if (err) {
throw new Error( err );
}
resultList.forEach(function( process ){
if( process ){
console.log( 'PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments );
}
});
});
Lastly, you can filter a list of items by their PPID by passing a PPID to filter on. You will need to pass in a psarg
that provides the PPID in the results (-l
or -j
for instance).
var ps = require('ps-node');
// A simple pid lookup
ps.lookup({
command: 'mongod',
psargs: '-l',
ppid: 82292
}, function(err, resultList ) {
if (err) {
throw new Error( err );
}
resultList.forEach(function( process ){
if( process ){
console.log( 'PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments );
}
});
});