【问题标题】:How to capture suspend event in Qt Linux如何在 Qt Linux 中捕获挂起事件
【发布时间】:2014-05-28 01:17:38
【问题描述】:

在 Linux 上工作并使用 Qt 开发我的应用程序。我需要在应用程序暂停时保留它的状态,以便在它恢复时我可以相应地完成任务。请帮助我如何使用 Qt 在 Linux 中捕获挂起/恢复事件。

试图在网上找到解决方案,但没有找到任何解决方案。为了捕获恢复事件,我们使用了系统时间戳,它可以工作,但不知道如何捕获挂起事件。

【问题讨论】:

  • 为什么需要显式保存任何状态?操作系统挂起/恢复的全部意义在于它会自动处理保存(以及稍后恢复)每个正在运行的进程的状态。

标签: c++ linux qt resume


【解决方案1】:

没有 Qt 方法可以检测计算机何时进入睡眠或休眠状态。但是有一些平台相关的方法可以做到这一点。

在 linux 上,您可以将以下 shell 脚本放在 /etc/pm/sleep.d 中,它会执行带有参数的程序。您可以启动一个程序并以某种方式通知您的主应用程序:

#!/bin/bash
case $1 in
suspend)
    #suspending to RAM
    /Path/to/Program/executable Sleeping
    ;;
resume)
    #resume from suspend
    sleep 3
    /Path/to/Program/executable Woken
    ;;
esac

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    相关资源
    最近更新 更多