python判断自身是否正在运行的方法


Posted in Python onAugust 08, 2019

如下所示:

# coding: utf-8
import os
import psutil
import time
 
def write_pid():
 pid = os.getpid()
 fp = open("pid.log",'w')
 fp.write(str(pid))
 fp.close()
 
def read_pid():
 if os.path.exists("pid.log"):
  fp = open("pid.log",'r')
  pid = fp.read()
  fp.close()
  return pid
 else:
  return False
 
def write_log(log_content):
 time_now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
 log_content = time_now+"---->"+log_content+os.linesep
 fp = open('recognition.log','a+')
 fp.write(log_content)
 fp.close()
 
def run():
 pid = read_pid()
 #print pid
 pid = int(pid)
 if pid:
  running_pid = psutil.pids()
  if pid in running_pid:
   log_content = "process is running..."
   write_log(log_content)
  else:
   write_pid()
   time.sleep(20)
 else:
  write_pid()
  time.sleep(20)
 
if __name__ == "__main__":
 run()

实现思路:

1)用os.getpid()获取当前程序运行PID,将PID存入文件中

2)用psutil模块获取当前系统所有正在运行的pid

3)读取之前存入的PID,判断该PID是否在系统PID中

4)如果文件中的PID在系统PID中,则退出程序,否则存入新的PID,运行程序。

以上这篇python判断自身是否正在运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现折半查找和归并排序算法
Apr 14 Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 Python
Python实现通讯录功能
Feb 22 Python
对Python 网络设备巡检脚本的实例讲解
Apr 22 Python
python dict 相同key 合并value的实例
Jan 21 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
python3 map函数和filter函数详解
Aug 26 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
如何在python中判断变量的类型
Jul 29 Python
python3跳出一个循环的实例操作
Aug 18 Python
基于python爬取梨视频实现过程解析
Nov 09 Python
Python 日期区间处理 (本周本月上周上月...)
Aug 08 #Python
python各类经纬度转换的实例代码
Aug 08 #Python
Python3.0 实现决策树算法的流程
Aug 08 #Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
Aug 08 #Python
Django rest framework jwt的使用方法详解
Aug 08 #Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 #Python
django基于restframework的CBV封装详解
Aug 08 #Python
You might like
一个显示天气预报的程序
2006/10/09 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
python定时关机小脚本
2018/06/20 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python 实现波浪滤镜特效
2020/12/02 Python
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
民主生活会剖析材料
2014/09/30 职场文书
公司转让协议书
2016/03/19 职场文书
详解JS ES6编码规范
2021/05/07 Javascript
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL
详解Spring事件发布与监听机制
2021/06/30 Java/Android
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸