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 文件重命名工具代码
Jul 26 Python
python使用 HTMLTestRunner.py生成测试报告
Oct 20 Python
分享一下Python数据分析常用的8款工具
Apr 29 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
python机器学习实现决策树
Nov 11 Python
python如何实现单链表的反转
Feb 10 Python
matlab灰度图像调整及imadjust函数的用法详解
Feb 27 Python
Django中的session用法详解
Mar 09 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
如何在sublime编辑器中安装python
May 20 Python
Python基础之条件语句详解
Jun 16 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使用者状态管理功能的应用
2006/10/09 PHP
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
第三节--定义一个类
2006/11/16 PHP
用来给图片加水印的PHP类
2008/04/09 PHP
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
javascript与CSS复习(二)
2010/06/29 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
python语言使用技巧分享
2016/05/31 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python socket处理client连接过程解析
2020/03/18 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
学校督导评估方案
2014/06/10 职场文书
好的促销活动方案
2014/08/21 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
师德师风整改措施
2014/10/24 职场文书
2015年考研复习计划
2015/01/19 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫