A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 源码技巧 > 父类数据 > Python实现保证只能运行一个脚本实例

Python实现保证只能运行一个脚本实例

时间:2015-06-24 14:39作者:zhao人气:34

保证只能运行一个脚本实例,方法是程序运行时监听一个特定端口,如果失败则说明已经有实例在跑。

使用装饰器实现,便于重用

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,实现,保证,只能,运行,一个,脚本,实例,保证

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号