51

Node.JSプログラムで(プロセスID)を使用してプロセス名を取得する方法PID、プラットフォームにはMac、Windows、Linuxが含まれます。

それを行うためのノードモジュールがいくつかありますか?

4

3 に答える 3

68

はい、組み込み/コアモジュールprocessはこれを行います:

だから、それからvar process = require('process');言う

PID(プロセスID)を取得するには:

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.');
  }
});
于 2013-03-18T10:33:34.550 に答える
12

Ubuntu Linuxで、試しました

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

動作するプロセスモジュールをインポートせずに試しました

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

もう1つ気付いたのは、次を使用してプロセスの名前を定義できることです

process.title = 'node-chat' 

次のコマンドを使用して bash シェルで nodejs プロセスを確認するには

ps -aux | grep node-chat
于 2013-08-15T18:04:18.940 に答える