Python实现保证只能运行一个脚本实例,python实现脚本实例
Python实现保证只能运行一个脚本实例,python实现脚本实例
保证只能运行一个脚本实例,方法是程序运行时监听一个特定端口,如果失败则说明已经有实例在跑。
使用装饰器实现,便于重用
复制代码 代码如下:
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中线程编程之threading模块的使用详解,pythonthread
- Python base64编码解码实例,pythonbase64
- Python中type的构造函数参数含义说明,python构造函数
- Python多线程和队列操作实例,python多线程队列
- Python文件读取的3种方法及路径转义,
- 让Python代码更快运行的5种方法,python代码运行5种
- Python ValueError: invalid literal for int() with base 10 实用解决方
- Python实现删除文件但保留指定文件,
- Python os模块学习笔记,pythonos学习笔记
- Python实现线程池代码分享,python线程池代码
评论关闭