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中的多线程实例教程
Aug 27 Python
Python中集合类型(set)学习小结
Jan 28 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 Python
Python实现字典的key和values的交换
Aug 04 Python
python中星号变量的几种特殊用法
Sep 07 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
python 已知平行四边形三个点,求第四个点的案例
Apr 12 Python
Python编程super应用场景及示例解析
Oct 05 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
桌面中心(二)数据库写入
2006/10/09 PHP
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
jQuery实现的无限级下拉菜单功能示例
2016/09/12 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
angular第三方包开发整理(小结)
2018/04/19 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
Python求解平方根的方法
2015/03/11 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
分析Python读取文件时的路径问题
2018/02/11 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
android面试问题与答案
2016/12/27 面试题
如何删除一个表里面的重复行
2013/07/13 面试题
“四风”问题整改措施和努力方向
2014/09/20 职场文书
劳模事迹材料范文
2014/12/24 职场文书
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android