Python實現保證只能運行一個腳本實例
保證只能運行一個腳本實例,方法是程序運行時監(jiān)聽一個特定端口,如果失敗則說明已經有實例在跑。
使用裝飾器實現,便于重用
import functools
def just_one_instance(func):
'''
裝飾器
如果已經有實例在跑則退出
:return:
'''
@functools.wraps(func)
def f(*args,**kwargs):
import socket
try:
# 全局屬性,否則變量會在方法退出后被銷毀
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]
在腳本的主函數上使用:
[code]
@just_one_instance
main():
do sth.
相關文章
python圖形開發(fā)GUI庫wxpython使用方法詳解
這篇文章主要介紹了python GUI庫wxpython使用方法詳解,需要的朋友可以參考下2020-02-02
Deepsort + Yolo 實現行人檢測和軌跡追蹤的方法
這篇文章主要介紹了Deepsort + Yolo 實現行人檢測和軌跡追蹤,本項目通過采用深度學習方法實現YOLO算法行人檢測和deepsort算法對人員定位的和軌跡跟蹤,需要的朋友可以參考下2021-09-09

