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实现的文件同步服务器实例
Jun 02 Python
Python中模块string.py详解
Mar 12 Python
使用Python的Django和layim实现即时通讯的方法
May 25 Python
对Python 数组的切片操作详解
Jul 02 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
python编写计算器功能
Oct 25 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
python中使用input()函数获取用户输入值方式
May 03 Python
python实现学生成绩测评系统
Jun 22 Python
Python读取Excel一列并计算所有对象出现次数的方法
Sep 04 Python
PyQt5 显示超清高分辨率图片的方法
Apr 11 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中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
JS继承用法实例分析
2015/02/05 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
使用Vue.observable()进行状态管理的实例代码详解
2019/05/26 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
python的依赖管理的实现
2019/05/14 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
师范教师大学生职业生涯规划范文
2014/01/05 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
小学生春游活动方案
2014/08/20 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书