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 pass 语句使用示例
Mar 11 Python
自己使用总结Python程序代码片段
Jun 02 Python
详解使用python crontab设置linux定时任务
Dec 08 Python
django中静态文件配置static的方法
May 20 Python
python 文件转成16进制数组的实例
Jul 09 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
深入浅析python 协程与go协程的区别
May 09 Python
Python 批量刷博客园访问量脚本过程解析
Aug 30 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
Python基于stuck实现scoket文件传输
Apr 02 Python
python基于exchange函数发送邮件过程详解
Nov 06 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
Jun 08 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 header()函数使用说明
2008/07/10 PHP
php Session存储到Redis的方法
2013/11/04 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
php按单词截取字符串的方法
2015/04/07 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
详解angular element()方法使用
2017/04/08 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
python访问sqlserver示例
2014/02/10 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
python opencv之SURF算法示例
2018/02/24 Python
python根据url地址下载小文件的实例
2018/12/18 Python
python图像处理入门(一)
2019/04/04 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
中国电视购物:快乐购
2017/02/04 全球购物
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
关于逃课的检讨书
2014/01/23 职场文书
专职安全员岗位职责
2015/04/11 职场文书
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers
Nginx动静分离配置实现与说明
2022/04/07 Servers
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server