有没有办法在所有平台上获得系统空闲时间

时间:2019-01-16 06:44:43

标签: node.js electron

我正在制作一个电子应用程序以检查系统空闲时间。我想使用一个通用模块在Winodws,Mac和Linux上获得空闲时间。

我正在使用此命令在Mac上获得空闲时间,但是在Linux中不起作用。 我还尝试了不同的npm插件来获取空闲时间,但是它们均未按预期工作

function idleTime(callback) {
  var command = `ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print $NF/1000000000; exit}'`;
  child_process.exec(command, function (err, stdout, stderr) {
    return err ? callback(err) : callback(null, stdout.trim());
  });

我的预期结果是检查用户是否正在使用系统。我想计算sysem在所有平台(mac,linux,windows)上的空闲时间。

2 个答案:

答案 0 :(得分:0)

https://electronjs.org/docs/api/power-monitor#powermonitorquerysystemidlestateidlethreshold-callback

powerMonitor.querySystemIdleTime(callback)
callback Function

idleTime Integer - Idle time in seconds
Calculate system idle time in seconds.

Electron具有用于检查空闲时间(和状态)的内置支持。

答案 1 :(得分:0)

为时已晚,但对于新来者请关注Electron Power monitor API's

const {powerMonitor} = require('electron'); 
const idle = powerMonitor.getSystemIdleTime() // it returns in seconds when I am writing this
console.log('Current System Idle Time - ', idle);