在Unix上的Python中,确定我是否在使用我的电脑?还是闲着?
发布时间:2020-12-16 01:21:04 所属栏目:安全 来源:网络整理
导读:我想写一个脚本来在后台进行繁重的网络上传. 但是,我希望它在我使用计算机时暂停(通过检测网络活动或键盘活动或我不闲置). 在Unix上用Python检测我正在使用计算机的最佳方法是什么? 使用X11 / XScreenSaver获取空闲时间的Unixy解决方案: #!/usr/bin/python
我想写一个脚本来在后台进行繁重的网络上传.
但是,我希望它在我使用计算机时暂停(通过检测网络活动或键盘活动或我不闲置). 在Unix上用Python检测我正在使用计算机的最佳方法是什么?
使用X11 / XScreenSaver获取空闲时间的Unixy解决方案:
#!/usr/bin/python import ctypes import os class XScreenSaverInfo( ctypes.Structure): """ typedef struct { ... } XScreenSaverInfo; """ _fields_ = [('window',ctypes.c_ulong),# screen saver window ('state',ctypes.c_int),# off,on,disabled ('kind',# blanked,internal,external ('since',# milliseconds ('idle',# milliseconds ('event_mask',ctypes.c_ulong)] # events xlib = ctypes.cdll.LoadLibrary('libX11.so') display = xlib.XOpenDisplay(os.environ['DISPLAY']) xss = ctypes.cdll.LoadLibrary('libXss.so.1') xss.XScreenSaverAllocInfo.restype = ctypes.POINTER(XScreenSaverInfo) xssinfo = xss.XScreenSaverAllocInfo() xss.XScreenSaverQueryInfo(display,xlib.XDefaultRootWindow(display),xssinfo) idletime = xssinfo.contents.idle # Cleaning Up xss.XFree(xssinfo) xss.XCloseDisplay(display) print "idle: %d ms" % idletime (见X11 idle time and focused window in Python.) 编辑 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- shell 实践版 $0 和 dirname的含义
- webService总结(四)——使用axis2发布和调用webService
- twitter bootstrap css / javascript库中的“popover”问题
- Bootstrap3 表单-只读输入框
- shell 的条件表达式及逻辑操作符简单介绍
- 引入Bootstrap相关的css、js
- Angular2 CLI错误“@ angular / compiler-cli”包未正确安装
- Access Webservice from Android
- 使用 ES2015 开发 Angular1.x 应用指南
- Scala Spark – 从简单的数据帧创建嵌套的json输出