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


Posted in Python onJune 24, 2015

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

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

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计算一个序列的平均值的方法
Jul 11 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
python将txt文件读取为字典的示例
Dec 22 Python
详解pandas的外部数据导入与常用方法
May 01 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
浅谈Python小波分析库Pywavelets的一点使用心得
Jul 09 Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 Python
mac使用python识别图形验证码功能
Jan 10 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
python3.6使用SMTP协议发送邮件
May 20 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
python实现股票历史数据可视化分析案例
Jun 10 Python
Python中的默认参数详解
Jun 24 #Python
Python中的下划线详解
Jun 24 #Python
Python装饰器使用实例:验证参数合法性
Jun 24 #Python
Python线程详解
Jun 24 #Python
Python函数式编程指南(四):生成器详解
Jun 24 #Python
Python函数式编程指南(三):迭代器详解
Jun 24 #Python
Python函数式编程指南(二):从函数开始
Jun 24 #Python
You might like
汉字转化为拼音(php版)
2006/10/09 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
js实现电灯开关效果
2021/01/19 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python和js交互调用的方法
2020/06/23 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
中文系学生自荐信范文
2013/11/13 职场文书
高中毕业的自我鉴定
2013/12/09 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
Web应用开发TypeScript使用详解
2022/05/25 Javascript