不是因为生活太现实,而对生活失望;而是知道生活太现实,所以更要用心的活下去。给自己一个拥抱。
如下所示:
# 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判断自身是否正在运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。