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,运行程序。

以上这篇python判断自身是否正在运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 python判断自身是否正在运行的方法 的全部内容, 来源链接: utcz.com/z/336243.html

回到顶部