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

作者:junjie 时间:2021-04-01 06:58:39 

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

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


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,保证,一个脚本
0
投稿

猜你喜欢

  • 有时用户并不需要引导

    2009-07-17 18:48:00
  • asp 横排显示数据

    2011-03-10 10:50:00
  • 使用Protocol Buffers的C语言拓展提速Python程序的示例

    2022-12-04 08:46:20
  • Oracle 多行记录合并/连接/聚合字符串的几种方法

    2009-11-17 08:53:00
  • sqlserver通用的删除服务器上的所有相同后缀的临时表

    2012-06-06 20:07:34
  • Webform 内置对象 Session对象、Application全局对象,ViewState详细介绍

    2023-06-30 02:14:07
  • 基于JS实现将JSON数据转换为TypeScript类型声明的工具

    2023-06-12 16:20:44
  • asp如何统计字符串出现的次数?

    2009-11-25 20:36:00
  • SQLServer 存储过程简介与使用方法

    2009-07-07 14:06:00
  • MySql循环插入数据

    2010-10-14 13:50:00
  • 查找备注(text,ntext)类型字段为空的方法

    2008-08-02 12:47:00
  • 用python实现五子棋实例

    2022-08-23 21:42:38
  • 对matplotlib改变colorbar位置和方向的方法详解

    2023-07-13 21:00:04
  • 月影:JavaScript王者归来

    2008-08-05 17:18:00
  • ASP.NET技巧:同时对多个文件进行大量写操作对性能优化

    2023-07-08 12:22:37
  • js控制表单不能输入空格的小例子

    2013-07-21 11:58:51
  • asp彩色验证码的制作详解

    2007-09-18 13:22:00
  • python编程的核心知识点总结

    2023-09-26 21:24:24
  • 使用css给图片添加阴影入门篇

    2009-07-06 14:38:00
  • CSS在页面布局中实现div水平居中的方法总结

    2008-06-03 12:09:00
  • asp之家 网络编程 m.aspxhome.com