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,保证,一个脚本
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
有时用户并不需要引导
2009-07-17 18:48:00
![](https://img.aspxhome.com/file/UploadPic/20097/17/ceshi-96s.png)
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
![](https://img.aspxhome.com/file/2023/8/65908_0s.jpg)
对matplotlib改变colorbar位置和方向的方法详解
2023-07-13 21:00:04
月影:JavaScript王者归来
2008-08-05 17:18:00
![](https://img.aspxhome.com/file/UploadPic/20088/5/200885172229312s.jpg)
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