A5下载站:努力做内容最丰富最安全的下载站! 网站地图最新更新下载排行专题软件发布

热门软件

地铁跑酷

冒险迷岛

全民迷宫

连连消大作战

小河狸创客

阿里健康医鹿

支付宝app

番薯小说

MOMO陌陌

虾米音乐app

位置导航:A5下载 > 源码技巧 > 父类数据

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

时间:2015-06-24 14:39来源:a5源码作者:zhao浏览:34
这篇文章主要介绍了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.