Подтвердить что ты не робот

Информация о процессе NODEJS

Как получить имя процесса с помощью PID (идентификатор процесса) в программе Node.JS, платформа включает Mac, Windows, Linux.

Есть ли у него несколько модулей node?

4b9b3361

Ответ 1

Да, встроенные/основные модули process выполняет следующее:

Итак, просто скажите var process = require('process'); Тогда

Чтобы получить PID (идентификатор процесса):

if (process.pid) {
  console.log('This process is your pid ' + process.pid);
}

Получить информацию о платформе:

console.log('This platform is ' + process.platform);

Примечание.. Вы можете узнать только PID дочернего процесса или родительского процесса.


Обновляется согласно вашим требованиям. (Проверено на 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)));
         }
        }) 
    });
});

В Linux вы можете попробовать что-то вроде:

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.');
  }
});

Ответ 2

В Ubuntu Linux я пробовал

var process = require('process'); but it gave error.

Я попытался без импорта какого-либо модуля процесса, с которым он работал

console.log('This process is your pid ' + process.pid);

Еще одна вещь, которую я заметил, мы можем определить имя для процесса, используя

process.title = 'node-chat' 

Чтобы проверить процесс nodejs в оболочке bash, используя следующую команду

ps -aux | grep node-chat