Node.js 是否可以读取/proc/{pid}/stat,然后实时传输到客户端?

Node.js 是否可以读取/proc/{pid}/stat,然后实时传输到客户端?,node.js,monitoring,Node.js,Monitoring,假设我想要监视mysql,据我所知,所有mysql运行时信息都存储在/proc/{mysql\u pid}/stat中。那么,是否可以通过node.js读取和解析mysql统计信息,并在客户端实时显示图表 nagios和alternative太重了,有时候我只想监控一些进度信息。所以我想要一个轻量级的解决方案。我尝试使用,这是一个非常好的库。然而,当stat文件发生更改时,proc文件系统似乎不会发生inotify事件。但是,如果您正在普通文件系统上查看文件,则可以使用该库执行以下操作: sys

假设我想要监视mysql,据我所知,所有mysql运行时信息都存储在
/proc/{mysql\u pid}/stat
中。那么,是否可以通过node.js读取和解析mysql统计信息,并在客户端实时显示图表

nagios和alternative太重了,有时候我只想监控一些进度信息。所以我想要一个轻量级的解决方案。

我尝试使用,这是一个非常好的库。然而,当stat文件发生更改时,proc文件系统似乎不会发生inotify事件。但是,如果您正在普通文件系统上查看文件,则可以使用该库执行以下操作:

sys     = require('sys');
fs      = require('fs');
Inotify = require('inotify').Inotify;

var inotify = new Inotify(); 

function callback(ev) {
  console.log(sys.inspect(ev));
}

var home_dir = {
    path:      '/proc/5499/stat'
  , watch_for: Inotify.IN_ALL_EVENTS
  , callback:  callback
};

var home_watch_descriptor = inotify.addWatch(home_dir);
只需将Inotify.IN_ALL_EVENTS更改为您想要关注的任何操作,这在我链接的github页面上有记录


很抱歉,这不能解决您的特定问题,但我想我会以信息的方式发布它。

我假设您还没有尝试实施解决问题的方案。你说的“实时”到底是什么意思?你在说什么样的客户

如果你说的是一个web浏览器客户端,你没有理由不能每半秒钟更新一次某种类型的显示(或者更快,如果图表不是太复杂的话)

如果你想要一个更具体的答案,你应该更具体