Python实现保证只能运行一个脚本实例_python教程-查字典教程网
Python实现保证只能运行一个脚本实例
Python实现保证只能运行一个脚本实例
发布时间:2016-12-28 来源:查字典编辑
摘要:保证只能运行一个脚本实例,方法是程序运行时监听一个特定端口,如果失败则说明已经有实例在跑。使用装饰器实现,便于重用复制代码代码如下:impo...

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

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

复制代码 代码如下:

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学习
    热门python学习
    脚本专栏子分类