1. 文件鎖
腳本啟動前檢查特定文件是否存在,不存在就啟動并新建文件,腳本結束后刪掉特定文件。
通過文件的判斷來確定腳本是否正在執行。
方法實現也比較簡單,這里以python/51082.html">python腳本為例
#coding=utf-8 # # 文件鎖腳本測試 # import os #操作系統 import time lockfilepath = "/opt/lock.txt"; #判斷文件是否存在 if os.path.exists(lockfilepath): #文件存在,說明腳本正在執行 print("腳本正在執行") else: #文件不存在,創建文件,并執行任務。 lockfile = open(lockfilepath,"w+"); print ("文件鎖 任務模擬sleep 10s"); time.sleep(10); print ("任務模擬結束 sleep over "); #刪除文件 os.remove(lockfilepath);文件鎖測試結果


2.端口占用
使用socket模塊,在腳本執行時,給系統中增加一個端口,在腳本執行完后釋放。
腳本執行時,去創建這個端口,如果腳本還在執行,端口會創建失敗,提示腳本還在執行。
實現方法也比較簡單:Python腳本
#coding=utf-8 import time import socket suo = 1 try: global hyf_suo hyf_suo = socket.socket() addr = ('',98889) hyf_suo.bind(addr); suo = 1; except: suo = 2; print('already has an instance') if(suo==1): print ("鎖住 sleep "); time.sleep(10); print ("sleep over "); else: print("已經加鎖了");端口鎖測試結果


結論
以上兩種方法都能實現腳本鎖的功能,個人更傾向于使用第二種方法。端口鎖的方法。
以上所述是小編給大家介紹的Python實現腳本鎖功能(同時只能執行一個腳本),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答