【问题标题】:How many seconds left for a sleeping process to "wake up"休眠进程“唤醒”还剩多少秒
【发布时间】:2022-01-03 22:21:25
【问题描述】:

我想知道是否有办法知道在 LINUX 中“唤醒”睡眠进程(处于“S”状态)还剩多少秒。

例如,我使用 sleep 方法使 python 进程进入睡眠状态。

from time import sleep
sleep(60)

谢谢!

【问题讨论】:

  • 如果你想要一个通用的答案,可能没有,因为这真的取决于特定任务/线程/进程为何处于休眠状态,而某些休眠没有时间限制/超时等等
  • 例如,我使用 sleep 方法让一个 python 进程进入睡眠状态。 from time import sleep sleep(60)

标签: linux sleep


【解决方案1】:

一个进程会一直休眠直到一个中断被发送。这可能来自软件信号或通过操作系统的某些硬件。

【讨论】:

    【解决方案2】:

    根据您要达到的目标,从操作级别来看可能有点矫枉过正。而是考虑在您的代码中解决它,方法是将您的 sleep 拆分为多个 sleep 语句并以这种方式进行更新。

        from time import sleep
    
        for i in range(0,60):
            sleep(1)
            # Give an update status via i
            print(f"I've slept {i} seconds")
    

    根据您的需要,将打印内容替换为可以更新操作系统、将值解析到不同程序等的内容。这比试图在操作系统级别上解决这个问题要容易。

    【讨论】:

      猜你喜欢
      • 2014-08-02
      • 1970-01-01
      • 2011-08-05
      • 2012-08-15
      • 2015-06-28
      • 1970-01-01
      • 2014-07-15
      • 2021-09-11
      • 1970-01-01
      相关资源
      最近更新 更多