检查linux机器是不是空闲
Posted
技术标签:
【中文标题】检查linux机器是不是空闲【英文标题】:Checking whether a linux machine is idle检查linux机器是否空闲 【发布时间】:2012-11-07 01:22:38 【问题描述】:如果我的机器处于空闲状态,我想关闭它,并且正在寻找“空闲”的最可靠定义。它应该衡量计算机(最终用户的笔记本电脑或台式机)是否正在执行有用的工作。值得注意的是,我想检查以下几点:
没有用户活动
w
命令打印终端会话的空闲时间
xprintidle 似乎对 X 做同样的事情,使用 X 屏幕保护程序扩展
低负载平均
uptime
打印平均负载
没有正在运行的下载
bwm-ng 计算当前网络和磁盘使用情况
现在我的问题:
是否有任何现有的工具可以执行这些检查?
我们应该检查哪些其他活动以使其更可靠?打开网络连接可能吗?或者永远不应该被中断的进程白名单?我们能否使用一些机器学习技术以某种方式了解有用工作的特征?
期待您的意见和建议!
【问题讨论】:
您可能忘记了通过crontab
或at
运行的用户程序。他们没有控制终端。但是你为什么要问???
我问的原因是因为昨天晚上,我开始了构建工作,然后就去睡觉了。如果机器可以在构建结束时关闭,那就太好了。然而,构建包含多个进程,有时会编译内容,有时会等待网络……所以我想我会寻找更通用的解决方案。
【参考方案1】:
恕我直言,直截了当的方法是 Perl
中的 shell
:
cpan -i X11::IdleTime # or any otherway to install X11::IdleTime module
sleep 2
perl -MX11::IdleTime -e 'print GetIdleTime(), $/;'
【讨论】:
这似乎和上面提到的 xprintidle 一样......这是我要求的更大难题的一部分。 我的命令或 xprintidle 在 crontab 作业中是否不够用? 嗯,不...正如我所写,X11 空闲时间只是众多方面之一。如果我仅根据该信息关闭机器,我可能会中断重要的下载。 我收到“无法在 @INC 中找到 X11/IdleTime.pm”消息。以上是关于检查linux机器是不是空闲的主要内容,如果未能解决你的问题,请参考以下文章