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 相关文章推荐
Django基础之Model操作步骤(介绍)
May 27 Python
Django rest framework实现分页的示例
May 24 Python
flask入门之表单的实现
Jul 18 Python
Python按钮的响应事件详解
Mar 04 Python
python绘制评估优化算法性能的测试函数
Jun 25 Python
Pytorch实现神经网络的分类方式
Jan 08 Python
Django Form设置文本框为readonly操作
Jul 03 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
python 实现aes256加密
Nov 27 Python
Python pandas求方差和标准差的方法实例
Aug 04 Python
python自动化测试之Selenium详解
Mar 13 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中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
微信小程序监听用户登录事件的实现方法
2019/11/11 Javascript
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
python版飞机大战代码分享
2018/11/20 Python
django之自定义软删除Model的方法
2019/08/14 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
Python实现GIF图倒放
2020/07/16 Python
python中PyQuery库用法分享
2021/01/15 Python
经济管理专业毕业生推荐信
2013/11/11 职场文书
关于期中考试的反思
2014/02/02 职场文书
人事经理岗位职责
2014/04/28 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
无犯罪记录证明
2014/09/19 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
离婚起诉状范本
2015/05/19 职场文书
入党转正介绍人意见
2015/06/03 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书