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去除字符串两端空格的方法
May 21 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
快速查询Python文档方法分享
Dec 27 Python
python爬取m3u8连接的视频
Feb 28 Python
对python特殊函数 __call__()的使用详解
Jul 02 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
Python3 合并二叉树的实现
Sep 30 Python
python处理excel绘制雷达图
Oct 18 Python
django admin 添加自定义链接方式
Mar 11 Python
基于python实现查询ip地址来源
Jun 02 Python
Python3如何使用range函数替代xrange函数
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
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
js+JQuery返回顶部功能如何实现
2012/12/03 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
javascript中setInterval的用法
2015/07/19 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
python抓取百度首页的方法
2015/05/19 Python
对python中的logger模块全面讲解
2018/04/28 Python
pandas删除指定行详解
2019/04/04 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
python类中super() 的使用解析
2019/12/19 Python
python中property和setter装饰器用法
2019/12/19 Python
python实现拼接图片
2020/03/23 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
大学生创业计划书的范文
2014/01/07 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
品质保证书格式
2015/02/28 职场文书
单位实习介绍信
2015/05/05 职场文书
2015大学迎新标语
2015/07/16 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL