NODEJS进程信息
是的,内置/核心模块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.');
}
});
我想通过PID得到过程信息 – pianist829 2013-03-18 11:09:18
要得到'PID'你应该使用'process.pid ',但不是'process.getgid'。 – zavg 2013-07-15 16:40:30
@zavg:感谢您的友好输入。 – 2013-07-16 05:29:43
在Ubuntu Linux,我试过
var process = require('process'); but it gave error.
我试着不导入它的工作
任何处理模块console.log('This process is your pid ' + process.pid);
还有一件事我注意到,我们可以使用
process.title = 'node-chat'
过程中使用以下命令来检查在bash shell中的进程的NodeJS定义名称
ps -aux | grep node-chat
在您的最后一个示例中,我认为您将Javascript与bash混合在一起。 – starbeamrainbowlabs 2014-03-17 14:06:21
http://nodejs.org/api/process .html只是'process.pid' – generalhenry 2013-03-18 07:24:09
是不是这个API是唯一访问PID我想要的额外信息是由PID得到的 – pianist829 2013-03-18 07:27:56
程序还给你平台,arch,内存使用情况,cwd等等。你要? – tjameson 2013-03-18 07:38:42