如何从命令行休眠/挂起并在特定时间执行此操作

如何从命令行休眠/挂起并在特定时间执行此操作

我设法通过阅读从命令行找到如何挂起/休眠系统如何从命令行暂停/休眠?

但是,我想知道如何使用命令行在给定时间(绝对时间(例如,晚上 11 点)或相对时间(例如,30 分钟))挂起/休眠。

我已经知道如何通过关机来执行此操作,但我不确定命令是否类似。

答案1

您可以使用at命令来安排任何操作,包括运行那个问题

例如,如果您想在 30 分钟后进入休眠状态:

echo 'pmi action hibernate' | at now + 30 min

或者如果您想在晚上 11:00 暂停:

echo 'pmi action suspend' | at 11pm

如果您需要以 的形式运行命令root,请at使用sudo而不是命令本身来运行sudo(因为sudo应该只以交互方式运行,除非您已将其配置为不要求输入密码)。例如,使用pm-hibernate和 的上述命令的等效项pm-suspend是:

echo pm-hibernate | sudo at now + 30 min

echo pm-suspend | sudo at 11pm

答案2

对于相对规范(例如“30 分钟后”),您可以简单地使用sleep命令来使暂停/休眠命令等待。


例子:

等待 30 分钟,然后暂停:

sudo sleep 30m; sudo pm-suspend

等待 1 小时,然后休眠:

sudo sleep 1h; sudo pm-hibernate

答案3

对于在特定时间重复 - 例如每天在特定时间关闭计算机。使用 cron。

crontab -e

添加以下内容:

15 14 1 * * pmi action suspend

如果您想定制它。

* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

对于一次性工作我们使用 at 命令

例如,如果您想在 30 分钟后进入休眠状态:

echo 'pmi action hibernate' | at now + 30 min

或者如果您想在晚上 11:00 暂停:

echo 'pmi action suspend' | at 11pm

相关内容