python判断自身是否正在运行的方法
如下所示:
#coding:utf-8
importos
importpsutil
importtime
defwrite_pid():
pid=os.getpid()
fp=open("pid.log",'w')
fp.write(str(pid))
fp.close()
defread_pid():
ifos.path.exists("pid.log"):
fp=open("pid.log",'r')
pid=fp.read()
fp.close()
returnpid
else:
returnFalse
defwrite_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()
defrun():
pid=read_pid()
#printpid
pid=int(pid)
ifpid:
running_pid=psutil.pids()
ifpidinrunning_pid:
log_content="processisrunning..."
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判断自身是否正在运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。