Python实现脚本锁功能(同时只能执行一个脚本)
作者:将情存诗 时间:2023-10-03 00:55:51
1. 文件锁
脚本启动前检查特定文件是否存在,不存在就启动并新建文件,脚本结束后删掉特定文件。
通过文件的判断来确定脚本是否正在执行。
方法实现也比较简单,这里以python脚本为例
#coding=utf-8
#
# 文件锁脚本测试
#
import os #操作系统
import time
lockfilepath = "/opt/lock.txt";
#判断文件是否存在
if os.path.exists(lockfilepath):
#文件存在,说明脚本正在执行
print("脚本正在执行")
else:
#文件不存在,创建文件,并执行任务。
lockfile = open(lockfilepath,"w+");
print ("文件锁 任务模拟sleep 10s");
time.sleep(10);
print ("任务模拟结束 sleep over ");
#删除文件
os.remove(lockfilepath);
文件锁测试结果
2.端口占用
使用socket模块,在脚本执行时,给系统中增加一个端口,在脚本执行完后释放。
脚本执行时,去创建这个端口,如果脚本还在执行,端口会创建失败,提示脚本还在执行。
实现方法也比较简单:Python脚本
#coding=utf-8
import time
import socket
suo = 1
try:
global hyf_suo
hyf_suo = socket.socket()
addr = ('',98889)
hyf_suo.bind(addr);
suo = 1;
except:
suo = 2;
print('already has an instance')
if(suo==1):
print ("锁住 sleep ");
time.sleep(10);
print ("sleep over ");
else:
print("已经加锁了");
端口锁测试结果
结论
以上两种方法都能实现脚本锁的功能,个人更倾向于使用第二种方法。端口锁的方法。
以上所述是小编给大家介绍的Python实现脚本锁功能(同时只能执行一个脚本)网站的支持!
来源:http://www.cnblogs.com/FLFL/p/6834918.html
标签:python,脚本锁,执行脚本
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Windows环境下实现批量执行Sql文件
2024-01-14 14:12:40
![](https://img.aspxhome.com/file/2023/2/98062_0s.png)
python实现批量监控网站
2023-07-22 20:41:08
Python爬虫Xpath定位数据的两种方法
2022-07-03 16:36:53
![](https://img.aspxhome.com/file/2023/6/124366_0s.png)
基于php实现七牛抓取远程图片
2024-05-05 09:17:07
Yii配置与使用memcached缓存的方法
2023-11-05 06:34:45
Go语言基础if条件语句用法及示例详解
2024-04-23 09:35:16
![](https://img.aspxhome.com/file/2023/0/134410_0s.png)
判断python对象是否可调用的三种方式及其区别详解
2022-09-07 13:23:08
pandas 数据实现行间计算的方法
2021-07-21 06:00:40
Express无法通过req.body获取请求传递的数据解决方法
2024-06-05 09:52:06
![](https://img.aspxhome.com/file/2023/8/122388_0s.png)
一文搞懂Python中subprocess模块的使用
2023-12-05 16:35:05
![](https://img.aspxhome.com/file/2023/8/117868_0s.jpg)
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2022-04-04 00:23:17
Selenium 模拟浏览器动态加载页面的实现方法
2023-06-04 11:06:54
Python中with上下文管理协议的作用及用法
2022-09-27 16:05:24
![](https://img.aspxhome.com/file/2023/0/135250_0s.png)
Python中max函数用于二维列表的实例
2022-07-04 15:49:55
Python通过递归函数输出嵌套列表元素
2021-03-23 15:36:09
![](https://img.aspxhome.com/file/2023/2/133842_0s.png)
Python3使用Matplotlib 绘制精美的数学函数图形
2021-09-21 17:38:45
![](https://img.aspxhome.com/file/2023/8/90428_0s.jpg)
Python中的多线程实例(简单易懂)
2021-12-07 04:09:47
![](https://img.aspxhome.com/file/2023/7/80447_0s.png)
自己用python做的一款超炫酷音乐播放器
2021-05-26 04:47:35
![](https://img.aspxhome.com/file/2023/2/121502_0s.gif)
Python中获取图片的大小问题
2022-11-08 21:43:23
Python队列RabbitMQ 使用方法实例记录
2021-01-30 22:38:26
![](https://img.aspxhome.com/file/2023/3/83753_0s.png)