Python實(shí)現(xiàn)保證只能運(yùn)行一個(gè)腳本實(shí)例
保證只能運(yùn)行一個(gè)腳本實(shí)例,方法是程序運(yùn)行時(shí)監(jiān)聽一個(gè)特定端口,如果失敗則說明已經(jīng)有實(shí)例在跑。
使用裝飾器實(shí)現(xiàn),便于重用
import functools
def just_one_instance(func):
'''
裝飾器
如果已經(jīng)有實(shí)例在跑則退出
:return:
'''
@functools.wraps(func)
def f(*args,**kwargs):
import socket
try:
# 全局屬性,否則變量會(huì)在方法退出后被銷毀
global s
s = socket.socket()
host = socket.gethostname()
s.bind((host, 60123))
except:
print('already has an instance')
return None
return func(*args,**kwargs)
return f
[code]
在腳本的主函數(shù)上使用:
[code]
@just_one_instance
main():
do sth.
相關(guān)文章
python圖形開發(fā)GUI庫wxpython使用方法詳解
這篇文章主要介紹了python GUI庫wxpython使用方法詳解,需要的朋友可以參考下2020-02-02
Deepsort + Yolo 實(shí)現(xiàn)行人檢測和軌跡追蹤的方法
這篇文章主要介紹了Deepsort + Yolo 實(shí)現(xiàn)行人檢測和軌跡追蹤,本項(xiàng)目通過采用深度學(xué)習(xí)方法實(shí)現(xiàn)YOLO算法行人檢測和deepsort算法對(duì)人員定位的和軌跡跟蹤,需要的朋友可以參考下2021-09-09
Python基于Socket實(shí)現(xiàn)的簡單聊天程序示例
這篇文章主要介紹了Python基于Socket實(shí)現(xiàn)的簡單聊天程序,結(jié)合簡單實(shí)例形式分析了Python聊天程序的客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08
Python實(shí)現(xiàn)遍歷目錄的方法【測試可用】
這篇文章主要介紹了Python實(shí)現(xiàn)遍歷目錄的方法,涉及Python針對(duì)目錄與文件的遍歷、判斷、讀取相關(guān)操作技巧,需要的朋友可以參考下2017-03-03

