python定时重启程序
文章目录
- 一、定时
- 循环sleep:
- threading的Timer:
- 使用sched模块:
- Scheduler:
- 二、进程
- 单次运行
- 循环运行
- 三、关闭win程序
- 四、打开win程序(win32api实现)
- 安装
- 运行
一、定时
Python下实现定时任务的方式有很多种方式。下面介绍几种
循环sleep:
这是一种最简单的方式,在循环里放入要执行的任务,然后sleep一段时间再执行。缺点是,不容易控制,而且sleep是个阻塞函数。
def timer(n): ''''' 每n秒执行一次 '''while True: print time.strftime('%Y-%m-%d %X',time.localtime()) yourTask() # 此处为要执行的任务 time.sleep(n)
threading的Timer:
threading模块中的Timer能够帮助实现定时任务,而且是非阻塞的。
比如3秒后打印helloworld:
def printHello(): print "hello world"
Timer(3, printHello).start()
比如每3秒打印一次helloworld:
def printHello(): print "Hello World"t = Timer(2, printHello) t.start() if __name__ == "__main__": printHello()
使用sched模块:
sched是一种调度(延时处理机制)。
# -*- coding:utf-8 -*-
# use sched to timing
import time
import os
import sched # 初始化sched模块的scheduler类
# 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
schedule = sched.scheduler(time.time, time.sleep) # 被周期性调度触发的函数
def execute_command(cmd, inc): ''''' 终端上显示当前计算机的连接情况 '''os.system(cmd) schedule.enter(inc, 0, execute_command, (cmd, inc)) def main(cmd, inc=60): # enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数, # 给该触发函数的参数(tuple形式) schedule.enter(0, 0, execute_command, (cmd, inc)) schedule.run() # 每60秒查看下网络连接情况
if __name__ == '__main__': main("netstat -an", 60)
Scheduler:
-*- coding:utf_8 -*-
import os,schedule,time
def job():
cmd='taskkill /F /IM phantomjs.exe'
os.system(cmd)
schedule.every().day.at("00:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
二、进程
单次运行
代码如下(示例):
def printHello(): print "hello world"Timer(3, printHello).start()
循环运行
代码如下(示例):
# -*- coding:utf_8 -*-
from threading import Timer
def job(): t = Timer(600, job) t.start()
if __name__ == "__main__": job()
三、关闭win程序
cmd='taskkill /F /IM Thunder.exe'
os.system(cmd)
四、打开win程序(win32api实现)
安装
在Python for Windows Extensions Files下载对应版本的pywin32,安装后能在C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\win32找到对应的win32api.py文件,因此这样导入:
from win32 import win32api
运行
win32api.ShellExecute(0, 'open', 'notepad.exe', '', '', 0) # 后台执行
win32api.ShellExecute(0, 'open', 'notepad.exe', '', '', 1) # 前台打开
win32api.ShellExecute(0, 'open', 'notepad.exe', '1.txt', '', 1) # 打开文件
win32api.ShellExecute(0, 'open', 'http://www.sohu.com', '', '', 1) # 打开网页
win32api.ShellExecute(0, 'open', 'D:\\Opera.mp3', '', '', 1) # 播放视频
win32api.ShellExecute(0, 'open', 'D:\\hello.py', '', '', 1) # 运行程序
python定时重启程序相关推荐
- python定时关机程序_Python练习小程序之定时关机小脚本(代码教程)
就不多介绍了,直接上代码吧. #coding:utf-8 import datetime, time, os, wx import tkinter, threading from tkinter im ...
- Linux 定时重启某个服务
1.创建start.sh脚本,该脚本用于杀死进程并重启服务 #!/bin/sh #需要定时重启程序的绝对路径 RESOURCE_NAME=/home/gm_prox_zf/manage.py #查找进 ...
- linux下用脚本语言开发自动重启程序
由于最近要负责一个项目的维护工作,这个服务器总是出现段错误,由于时间比较紧张,我就写了一个简单的重启脚本,先让服务器不至于总是dump掉. 废话不多说,先上代码: #!/bin/sh CheckPro ...
- Linux定时重启服务脚本
服务启动脚本cronStartTinyproxy.sh 放在/etc/tinyproxy目录 touch cronStartTinyproxy.sh #!/bin/sh #需要定时重启程序的绝对路径 ...
- 树莓派自启动python程序,远程树莓派桌面,重装树莓派系统,串口驱动,永不休眠,树莓派旋转屏幕方向,树莓派定时重启,修改矫正树莓派时间,raspbian Linux 系统命令常用
一.树莓派4B自启python的脚本方法 1.rc.local文件修改 (1)新建运行脚本 pi@zero:~/raspberry $ sudo nano test.sh #!/bin/sh cd / ...
- linux 程序定时重启tomcat,linux下实现tomcat定时自动重启
tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式.要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdo ...
- 任务计划程序-Windows2008定时重启
Windows系统的任务计划程序,可以添加计划任务,设置任务开始时间及执行的间隔,实现应用的自动执行.例如:实现定时重启.关机等常见的功能.如何使用参考以下步骤 1.新建一个文本文件,将文件后缀改为b ...
- python重启程序代码_重启python程序
跑程序跑到后面就越跑越慢了,就学习了一下重启程序的命令. 这是远程服务器跑的程序,亲测有用. import os import sys def restart_program(): print(&qu ...
- python 重启程序_python重启程序
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! # 重启程序 def restart_program():print(重启... ...
- python定时播放音乐程序_python实现定时播放mp3
python实现定时播放mp3 程序很简单,主要是 mp3play 模块的应用 import mp3play, time filename = "Should It Matter.mp3&q ...
最新文章
- (转)__declspec(dllimport)和__declspec(dllexport)的区别,以及有关c/c++调用约定
- css --- 让不同的浏览器加载不同的CSS
- python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现
- [Oracle整理]CASE-END
- Spring MVC 实践 - Base
- 第一次使用SSE指令集
- bzoj4974: [Lydsy1708月赛]字符串大师
- python工具包:random的注意事项
- win7 自带计算机(for programmer)
- 基于单片机USB接口的温度控制器
- photoshop常用图片处理技巧
- linux下安装redis报Mmmm... it seems like you don‘t have a redis executable. Did you run make install yet?
- linux scl软件包下载,Centos7升级gcc版本方法之一使用scl软件集
- 从汇编的角度理解什么是引用
- 威联通TS231nas虚拟服务器,威联通NAS小技巧:自带VS3软件下安装win7虚拟机
- Unreal 4 更改Engine位置
- 阿里云oss对象存储的使用
- Arduino Mega2560 PWM
- 基于51单片机的LED呼吸灯设计(定时器)
- 计算机网络八股文-面试必问