时间:2021-05-22
你可能会遇到这样的要求,一个脚本,只允许有一个实例。
在python中,为了实现这个需求,可以引入fcntl模块对文件加一个排他锁,这样一来,先启动的实例拥有了文件锁,而后启动的实例则因无法获取锁而退出
#coding=utf-8import fcntl, sys, time, os pidfile = 0 def ApplicationInstance(): global pidfile pidfile = open(os.path.realpath(__file__), "r") try: fcntl.flock(pidfile, fcntl.LOCK_EX | fcntl.LOCK_NB) #创建一个排他锁,并且所被锁住其他进程不会阻塞 except: print "another instance is running..." sys.exit(1) if __name__ == "__main__": ApplicationInstance() while True: print 'running...' time.sleep(1)需要注意的是,fcntl模块只能在linux环境下使用,windows上是没有的,这再次警告我们,拥抱linux,远离windows
以上这篇python 利用文件锁单例执行脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
属性值描述onchange脚本当元素改变时执行脚本onsubmit脚本当表单被提交时执行脚本onreset脚本当表单被重置时执行脚本onselect脚本当元素被
sys.argv是python用来获取命令行参数的,如在CMD下执行python*.pydata,也就是使用python执行脚本时,需要添加的参数按照Pytho
动态页面的结构。PHP文件作为一种HTML文档,其可以在服务器断执行脚本,由Web服务器执行脚本,并生成与之相应的HTML语言,与网页中原有的HTML语言向融合
前言开始执行脚本时,执行脚本的第一步是编译代码,然后再开始执行代码,如图另外,在编译优化方面来说,最开始时也并不是全部编译好脚本,而是当函数执行时,才会先编译,
脚本功能:监控多台Web服务器状态,一旦发生问题就发送邮件运行环境:Python2.7/2.4皆可运行脚本使用方法:可利用Crontab或者计划任务来指定时间运