如下所示:
# 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判斷自身是否正在運行的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

