Python实现对电脑的全程监控
首先声明一下:该点子非本人原创,我只是用它在Mac OS X上给出了实现。需要三个文件,被发布在本人的GitHub上,有需要或想了解的请自行参考。简单介绍下三个文件分别的作用:pcMonitor.py--Python程序文件,用于实现开机监控以及强制关机的处理逻辑com.yanghua.pcMonitorService.plist--Apple Mac OS X对于想要开机启动程序的描述文件。(在
首先声明一下:该点子非本人原创,我只是用它在Mac OS X上给出了实现。
需要三个文件,被发布在本人的GitHub上,有需要或想了解的请自行参考。
简单介绍下三个文件分别的作用:
pcMonitor.py--Python程序文件,用于实现开机监控以及强制关机的处理逻辑
com.yanghua.pcMonitorService.plist--Apple Mac OS X对于想要开机启动程序的描述文件。(在windows 上可能称之为开机启动计划)
pcMonitorService.sh--在com.yanghua.pcMonitorService.plist中描述的,需要被直接执行的程序。(系统开机自执行程序不支持直接执行Python脚本,所以通过执行执行该sh脚本,在该sh脚本中间接执行pcMonitor.py脚本)。
实现功能
(1)开机未登录 邮件自动提醒
(2)开机登陆后 邮件自动提醒
(3)回复提醒邮件以“shutdown”,则被开启的Mac 机器会被强制关闭
无论是否连接互联网:
(4)支持开机后,以一定的频率定时截取当前屏幕作为图像日志
备注:这些功能对于个人电脑常被借用、公用来说非常有用,便于个人对自己电脑的使用有即时了解。
原理简介
if __name__ == '__main__':
init()
MAIL_TXT = "the computer has started %s" % time.strftime(' at %c')
while True:
if send_mail(MAIL_TITLE, MAIL_TXT):
break
else:
time.sleep(60)
while True:
shutdown=receive_mail()
if shutdown:
shutdown_cmd ="shutdown -h now"
print(shutdown_cmd)
process=subprocess.Popen(shutdown_cmd, shell=True, universal_newlines=True, stdout=subprocess.PIPE)
process.wait()
else:
print("sleep")
time.sleep(60) #sleep 60s
如何使其开机自动启动?
#TODO: change the e-mail address which you want to comunicate with monitor
MAIL_LIST = ["XXXXXX@qq.com"]
#TODO: change the smtp/pop3 server which will serve for the monitor
MAIL_HOST = "smtp.exmail.qq.com"
MAIL_POP = "pop.exmail.qq.com"
#TODO: change the email-addr and pwd which the monitor will use
MAIL_USER = "xxxx@qq.com"
MAIL_PASS = "xxxxxxxxxx"
MAIL_FROM = "xxxx@qq.com"
写在最后
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)