我最近发布了这个帖子:run a python script everytime the computer wakes up from hibernation
我正在考虑倒计时的替代方案,即简单地在控制台上显示再次运行命令之前的剩余时间。
例如使用此脚本
import os
os.system("watch -n 50 COMMAND")
控制台显示每 50 秒运行一次:COMMAND 那么你知道有什么方法可以显示这 50 秒的实际状态吗?
最佳答案
我认为除非COMMAND
创建一些信息(例如执行后的时间戳或类似信息),否则没有办法。原因很简单:watch
简单地输入 nanosleep()
系统调用来等待 50 秒。 (您可以使用 strace
找到这一点。)这个 nanosleep()
除了等待 50 秒之外什么也不做。它没有提供任何关于 sleep 已经持续多长时间或还需要多长时间的信息。这些信息被埋藏在内核深处,最终会再次唤醒进程。
因此,您唯一的方法是让 COMMAND
呈现该信息,例如。 G。通过让它触摸时间戳文件(例如 touch/tmp/COMMAND.timestamp
),该文件的时间可用于间接确定下一次 sleep 何时可能完成。
关于python - linux-watch命令: show time remaining,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17854498/