python實現進程單例(系統級文件加鎖)

import fcntl

pid_file ='program.pid'
fp = open(pid_file,'w')
try:
    fcntl.lockf(fp, fcntl.LOCK_EX | fcntl.LOCK_NB)
exceptIOError:
    # another instance is running
    sys.exit(0)

另外fcntl.flock是直接對整個文件進行加鎖,而fcntl.lockf是可以指定對文件中的某一段加鎖(參數可以指定起止位置)

發佈了32 篇原創文章 · 獲贊 6 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章