Fedora 自动挂起

Fedora 自动挂起

我使用的是 Fedora 13,为了自动关闭和重新启动,我们有以下命令:

# shutdown -h/-r now 

同样,如果我想让系统在一段时间后进入挂起模式,我应该使用什么命令?

答案1

Unix 的理念是拥有执行一项工作的工具,以及将它们结合起来的 shell。因此,我们将把挂起命令与稍后执行命令结合起来。我不知道 Fedora 上挂起的标准命令是什么(有几个);我将使用pm-suspendUbuntu 上的常用命令。

X 秒后暂停:sleep X && pm-suspend

在给定时间暂停:echo pm-suspend | at HH:MM

答案2

pm-suspend实用程序(包含在pm-utils包并且可能已经安装在您的计算机上)用于将您的计算机发送到挂起模式。因此,要“立即”暂停,您可以运行(以 root 身份或使用 sudo):

# pm-suspend

不幸的是,据我所知,pm-suspend 并不需要时间参数。但是,您可以编写一个带有时间参数的包装器脚本。将脚本保存在 $PATH 中的某个位置并 chmod +x 它。不要称其为“暂停”。一个简单的可能如下所示:

#!/bin/sh
#change this following line to wherever pm-suspend lives
suspend="/usr/sbin/pm-suspend"

#make sure we are root
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

if [ -z "$1" ]; then
    echo "mysuspend: time in seconds expected"
    exit 1;
elif [ "$1" = "now" ]; then
    echo "Suspending now!"
    wait="0"
else
    #make sure we get a number.
    echo "$1" | grep [a-zA-Z] > /dev/null
    if [ $? -ne 0 ]; then
        echo "Suspending in $1 seconds"
        wait="$1"
    else
        echo "mysuspend: time in seconds expected"
        exit 1
    fi
fi

sleep "$wait"
$suspend

警告:除了“对我有用”之外,我还没有对此进行过测试。

您可以考虑将挂起命令更改为 pm-suspend-hybrid ,这也会保存休眠文件,以防挂起时电量耗尽。

您可能感兴趣的或可以使您的脚本更加健壮的其他实用程序是 pm-hibernate、pm-is-supported。

答案3

如果您没有方便的 pm-suspend 命令,并举20:30个例子:(将其替换为当您想要挂起(或唤醒)时,例如tomorrow 1:00也可以)

sleep  $(($(date --date "20:30" +%s) - $(date +%s)))

&& 回显内存 > /sys/power/state

相关的,你还可以告诉机器什么时候醒来:

rtcwake -m mem -s $(($(date --date "20:30" +%s) - $(date +%s)))

有时它会失败,所以这样效果更好:

while sleep 1; do rtcwake -m mem -s $(($(date --date "20:30" +%s) - $(date +%s))) && break; done 

要改为休眠,只需在这两个命令中使用disknot 即可。mem这些命令将在 bash 上运行。在更原始的 shell 上,只需使用``(反引号) 代替并将$( )放在.$$(( ))

相关内容