python - linux-watch命令: show time remaining

标签 python linux watch

我最近发布了这个帖子: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/

相关文章:

python - 使用不同的参数多次运行 python 脚本

python - 为 pip 安装缓存远程存储库

c - 如何确定硬盘是否处于休眠或旋转状态?

ios - 在 podfile 错误中更新 Alamofire

python - 如何在 Tkinter 中捕获两个关键事件

python 程序不工作 apt-get install xvfb

linux - 可以在打开的文件句柄上使用 Linux inotify 吗?

javascript - 替代 angular.element(document).ready

javascript - AngularJS,$watch 运行两次,无法进行旧/新值比较工作

python - 无法在 Jenkins 中运行 python 脚本