NODEJS process info
On Ubuntu Linux, I tried
var process = require('process'); but it gave error.
I tried without importing any process module it worked
console.log('This process is your pid ' + process.pid);
One more thing I noticed we can define name for the process using
process.title = 'node-chat'
To check the nodejs process in bash shell using following command
ps -aux | grep node-chat
cf official documentation https://nodejs.org/dist/latest-v10.x/docs/api/process.html#process_process_pid
the require is no more needed. The good sample is :
console.log(`This process is pid ${process.pid}`);
Yes, built-in/core modules process
does this:
So, just say var process = require('process');
Then
To get PID (Process ID):
if (process.pid) {
console.log('This process is your pid ' + process.pid);
}
To get Platform information:
console.log('This platform is ' + process.platform);
Note: You can only get to know the PID of child process or parent process.
Updated as per your requirements. (Tested On
WINDOWS
)
var exec = require('child_process').exec;
var yourPID = '1444';
exec('tasklist', function(err, stdout, stderr) {
var lines = stdout.toString().split('\n');
var results = new Array();
lines.forEach(function(line) {
var parts = line.split('=');
parts.forEach(function(items){
if(items.toString().indexOf(yourPID) > -1){
console.log(items.toString().substring(0, items.toString().indexOf(yourPID)));
}
})
});
});
On Linux
you can try something like:
var spawn = require('child_process').spawn,
cmdd = spawn('your_command'); //something like: 'man ps'
cmdd.stdout.on('data', function (data) {
console.log('' + data);
});
cmdd.stderr.setEncoding('utf8');
cmdd.stderr.on('data', function (data) {
if (/^execvp\(\)/.test(data)) {
console.log('Failed to start child process.');
}
});