防止脚本暂时挂起/休眠?

防止脚本暂时挂起/休眠?

有什么方法可以防止脚本暂时挂起/休眠?

我想让屏幕在适当的时候进入省电模式,但计算机不会停止。 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

相关内容