python判断自身是否正在运行的方法

时间:2021-05-22

如下所示:

# coding: utf-8import osimport psutilimport 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判断自身是否正在运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章