使用装饰器实现,便于重用
代码如下:
'''
如果已经有实例在跑则退出
代码如下:
'''
@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.
Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务