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 从远程服务器下载日志文件的程序
Feb 10 Python
使用wxpython实现的一个简单图片浏览器实例
Jul 10 Python
Python求导数的方法
May 09 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
Jan 20 Python
python实现BackPropagation算法
Dec 14 Python
多个应用共存的Django配置方法
May 30 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
pip指定python位置安装软件包的方法
Jul 12 Python
完美解决python3.7 pip升级 拒绝访问问题
Jul 12 Python
python实现机器人卡牌
Oct 06 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
Feb 14 Python
Python代码注释规范代码实例解析
Aug 14 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
php socket实现的聊天室代码分享
2014/08/16 PHP
php常用字符函数实例小结
2016/12/29 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
PHP children()函数讲解
2019/02/03 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
jquery 问答知识整理
2010/02/11 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
windows下python连接oracle数据库
2017/06/07 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
python生成带有表格的图片实例
2019/02/03 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
用canvas显示验证码的实现
2020/04/10 HTML / CSS
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
运动会广播稿60字
2014/01/15 职场文书
工作会议方案
2014/05/21 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
Go语言并发编程 sync.Once
2021/10/16 Golang
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android