时间: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邮箱联系删除。
本文实例讲述了Android实现判断某个服务是否正在运行的方法。分享给大家供大家参考,具体如下:/***判断某个服务是否正在运行的方法**@parammCont
本文实例讲述了Android判断服务是否运行及定位问题。分享给大家供大家参考。具体如下:/***判断服务是否正在运行**@paramcontext*@param
判断某个服务是否正在运行的方法实现代码:/*****@parammContext*@paramserviceName*是包名+服务的类名(例如:net.loon
本文实例讲述了Android开发实现根据包名判断App运行状态的方法。分享给大家供大家参考,具体如下:前面讲过Android开发判断一个app应用是否在运行的方
vscode安装python库1.已经在vscode中装了python并配置好python运行环境。检查是否正确配置好运行环境,按Windows+R组合键在运行