有什么方法可以防止脚本暂时挂起/休眠?
我想让屏幕在适当的时候进入省电模式,但计算机不会停止。
Caffeine
不允许这样做:它会全部禁用或全部禁用。
我为什么要这样做?因为有时我会通过 FTP 从服务器下载大量文件。这些下载可能需要几个小时才能完成。
答案1
为了防止休眠,请创建/var/run/do-not-hibernate
:
sudo touch /var/run/do-not-hibernate
该文件/usr/lib/pm-utils/sleep.d/000kernel-change
使此功能有效。如果您需要禁用暂停,请创建一个新文件,例如/etc/pm/sleep.d/000_prevent_suspend_hibernate
:
#!/bin/sh
# Prevents the machine from suspending or hibernating when
# the file /var/run/do-not-hibernate-or-suspend exist
case "$1" in
suspend|hibernate)
[ -f /var/run/do-not-hibernate-or-suspend ] && exit 1
;;
esac
使其可执行:
sudo chmod +x /etc/pm/sleep.d/000_prevent_suspend_hibernate
如果您需要防止机器挂起或休眠,请创建一个文件:
sudo touch /var/run/do-not-hibernate-or-suspend
重新启动或删除此文件后,暂停和休眠功能可以再次运行。
答案2
只需添加一个文件即可/etc/pm/sleep.d
在此文件中检查是否应允许暂停。如果不允许,则退出exit 1
。
例如:
tmp_start=...
tmp_stop=...
if [ $((tmp_stop)) -gt $((current_date)) -a $((tmp_start)) -lt $((current_date)) ]; then
logger $0: Currently RECORDING. No Suspend!
exit 1;
fi