本文主要讲述如何使用Python在指定的秒数后关闭Windows上运行的程序(此程序以网易云音乐为例)。本文的背景是昨晚发现网易云音乐的PC客户端没有定时关闭的功能,可以使用Python编写一个简单的脚本,用于定时关闭这样的计划任务。经过改良后,可以对此做一些有用的扩展,用于日常运维中。
为什么使用Python来做这件事?
用cmd、计划任务或者批处理做这件事不可以吗?如果说忽略过程,只看结果的话,这些方式确实可能更简单也能达到目的,但是通过Python来做可以从过程和结果两个方面获得很多好处:
-
可以拿来练手,熟能生巧,而且很多东西不用就忘记
-
控制程序的行为上更加灵活,想输出什么就输出什么,想扩展功能可以扩展功能,如写入日志等
-
移植性和复用性比较好,还可以用到Linux和Mac OSX
脚本运行原理:
1.使用python内置模块sched实现计划任务
2.使用psutil模块实现枚举和kill进程
3.使用thread模块并行执行两个阻塞任务
此脚本涉及的知识:
-
获取系统语言默认编码
-
枚举和kill 进程
-
获取当前用户的用户名
-
实现倒计时功能
-
实现计划任务功能
-
Python多线程执行
运行环境与使用方法:
-
Python 2.7
-
psutil
-
使用python直接运行此脚本即可
-
其中,在脚本的__main__中可以修改时间(多少秒后执行)和进程的名字
运行结果截图:
这是设置的10s后关闭网易云音乐的运行截图