python判断自身是否正在运行的方法
作者:septwolves2015 发布时间:2022-07-30 02:34:44
标签:python,判断,自身,运行
如下所示:
# 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,运行程序。
来源:https://blog.csdn.net/septwolves2015/article/details/78633064


猜你喜欢
- Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能。 一、启动和关闭O
- 本文实例讲述了python实现合并多个list及合并多个django QuerySet的方法。分享给大家供大家参考,具体如下:在用pytho
- 目录一、为什么要用线程池二、线程池练习演示例子1:使用submit方法演示例子2:使用map方法三、线上数据库测试总结:一、为什么要用线程池
- 目录1.在app下的models.py中创建新的模板2.数据迁移(用pycharm自带的Terminal工具即可)3.在app下的views
- 本文实例讲述了python实现同时给多个变量赋值的方法。分享给大家供大家参考。具体分析如下:python中可以同时给多个变量赋值,下面列举了
- 作为一个数据分析师,应该信奉一句话——“一图胜千言”。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!!表情包不仅仅
- 原理介绍keras是一种基于模块的高级深度学习开发框架,它并没有仅依赖于某一种高速底层张量库,而是对各种底层张量库进行高层模块封装,让底层库
- 一般情况下:if(2 > 10){alert("不正确!");} 此比较不会是想要的结果:它相当于2 >1,
- 译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言转型到Python的程序员
- 本文为大家分享了mysql8.0下载与安装,供大家参考,具体内容如下首先要做的是下载8.0版本的mysql,可以到官网上去下,直接百度搜索m
- 1.场景描述我们公司是做电商的,运营的工作指标都是按周来定的,所以他们对周特别敏感,希望我们能在日期选择器上显示周数。刚接到这个需求时,心中
- 整理自慕课笔记基础表单表单主要功能是用来与用户做交流的一个网页控件,良好的表单设计能够让网页与用户更好的沟通。表单中常见的元素主要包括:文本
- 需要准备的环境:一个B站账号,需要先登录,否则不能查看历史弹幕记录联网的电脑和顺手的浏览器,我用的ChromePython3环境以及requ
- Go 语言中 encoding/json 包可以很方便的将结构体、数组、字典转换为 json 字符串。引用import "enco
- 多版本并发控制Multiversion Concurrency Control大部分的MySQL的存储 引擎,比如InnoDB,Falcon
- ID3决策树是以信息增益作为决策标准的一种贪心决策树算法# -*- coding: utf-8 -*-from numpy import *
- 1、简单应用代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-# @File : jieba
- 1.尽量不要对列名进行函数处理。而是针对后面的值进行处理例如where col1 = -5的效率比where -col1=5的效率要高因为后
- 在TP5公共common.php文件里写<?php //计算某个类别所属的类别层数 function getcatelayer($ca
- PHP PDO 错误与错误处理PDO::ERRMODE_SILENT此为默认模式。 PDO 将只简单地设置错误码,可使用PDO::error