多个python脚本同时执行_Python实现脚本锁功能(同时只能执行一个脚本)
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实现脚本锁功能(同时只能执行一个脚本),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
多个python脚本同时执行_Python实现脚本锁功能(同时只能执行一个脚本)相关推荐
- 《游戏脚本的设计与开发》-1.1 读取和解析一个脚本文件
上一篇<游戏脚本的设计与开发>-序中我介绍了游戏脚本的基本概念和准备工作,本篇来说说具体如何解析一个脚本 所谓解析脚本,就是按照自己定义的语法,将每一个脚本命令还原成不同的代码逻辑进行执行 ...
- 让powershell同时只能运行一个脚本(进程互斥例子)
powershell,mutex,互斥,进程互斥,脚本互斥 powershell脚本互斥例子,在powershell类别文章中,声明原创唯一. powershell 传教士 原创文章 2016-07- ...
- python脚本编程手册_Python 入门指南 — Python2.7 手册 2.7 documentation - 脚本之家在线手册...
Python 入门指南¶ Release:2.7 Date:December 06, 2014 Python 是一门简单易学且功能强大的编程语言.它拥有高效的高级数据结构,并且能够用简单而又高效的方式 ...
- python 3.8教程_Python 3.8 新功能全解
Python 3.8是Python语言的最新版本,它适合用于编写脚本.自动化以及机器学习和Web开发等各种任务.现在Python 3.8已经进入官方的beta阶段,这个版本带来了许多语法改变.内存共享 ...
- python爬虫英文翻译_Python爬虫实现翻译功能
前言 学了这么久的python理论知识,需要开始实战来练手巩固了. 准备 首先安装爬虫urllib库 pip install urllib 获取有道翻译的链接url 需要发送的参数在form data ...
- python测试管理平台_Python + flask+ selenium 自动化测试用例管理、执行平台
写在开篇 这个项目放到论坛之后,有很多热心的小伙伴试用,并且在github上面也点赞和 fork. 感谢各位的支持! 不过可能大家使用习惯的问题, 遇到有什么问题,或者看到我在下面的回帖里回复了 qq ...
- python中sys用法_Python中sys模块功能与用法实例详解
Python中sys模块功能与用法.,具体如下: sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. sys.argv 传递给Pyth ...
- python语言编程函数_Python编程语言的函数功能
编程语言导游财报抄写员. 工具/原料 电脑 Python 工作原理 1 如果你有一定的Python基础,想必现在已经熟悉print(),input(),len()函数.Python提供这样一些内建函数 ...
- python京东预约抢购_Python实现京东秒杀功能代码
本文实例为大家分享了Python实现京东秒杀功能的具体代码,供大家参考,具体内容如下 #Python 3.5 #coding:utf-8 #import scrapy from selenium im ...
最新文章
- php退出页面父元素,jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码...
- 口袋中的xmind如何添加优先等级图标
- JAVA_HOME和CLASSPATH设置
- spring boot 启动卡住_SpringBoot 居然有 44 种应用启动器
- mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
- 一行Python代码就可以下载任意网站视频,零基础小白也能轻松学会
- AI 工程师的崩溃是在哪一瞬间
- 潜在语义索引(Latent Semantic Indexing, LSI)——快速教程
- atitit.面向过程的编程语言异常处理 c语言 asp vbs 的try catch 实现
- matlab矩阵逆时针旋转90度_matlab矩阵旋转任意角度的函数 imrotate
- Kubernetes 外部 IP Service 类型
- Latex——页眉页脚
- 基于ASAM ODS标准的试验数字化平台-WDP
- 利用VBA将excel中链接转换为图片形式存放在指定的单元格中
- 如何查找某个物种的基因组大小
- 清华大学计算机系研究生培养方案,攻读硕士学位研究生培养方案
- HTML5学习笔记(三)
- VSCode+Marp:用Markdown做幻灯片(进阶篇)-宋森安
- Eclipse Che安装使用
- 利用FPGA仿真软件modelsim仿真波形显示图片
热门文章
- 解耦与人类行为 (完整)
- linux服务器下降,linux - 远程升级Ubuntu:如何最大程度地降低丢失服务器的风险? - Ubuntu问答...
- 热式气体质量流量计检定规程_宁夏热式气体质量流量计价位,玻璃管液位计怎么样...
- Mybatis源码阅读(三):结果集映射3.1 —— ResultSetBuilder与简单映射
- oracle安装向导卡住了_JDK 8 的安装与配置
- mysql 聚合函数 怎么用在条件里_MySql 中聚合函数增加条件表达式的方法
- Java BigInteger类| toByteArray()方法与示例
- java 逻辑表达式 布尔_使用基本逻辑门实现布尔表达式
- sumo的简单应用_sumo快速运行简单仿真实例详细教程
- arraylist能否接收强转类型_ArrayList 源码解析