我正在使用Ubuntu 11.10。
我想做一个shell脚本,closures电脑,如果没有人login一个小时。
但是,如果有人login(本地或远程SSH连接),那么我不想closures电脑..
如果有人能让我知道我应该怎么做才能应用这个脚本,我将非常感激。
非常感谢你!
桌面环境将具有控制待机和hibernate功耗模式的设置。 这通常足够简单地节省电力,并把高清进入睡眠。
但是,要回答你提出的问题,一个脚本可以很容易地做一个简单的检查。 为了守护这个脚本稍微有点牵扯,但是这里有一个例子让你开始:
last_user = Time.now loop do last_user = Time.now if `who | wc -l`.to_i > 0 system 'sudo shutdown -P +2' if Time.now - last_user >= 60 * 60 sleep 10 end
它不会总是检测到小于10秒的简短login…
在bash中有点笨拙,特别是没有使用&& if ,但是相当于这样的东西:
last_user=`date +%s` while :; do if [ `who | wc -l` -gt 0 ]; then last_user=`date +%s` fi if [ $((`date +%s` - $last_user)) -ge 3600 ]; then sudo shutdown -P +2 fi sleep 10 done