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.1 读取和解析一个脚本文件

    上一篇<游戏脚本的设计与开发>-序中我介绍了游戏脚本的基本概念和准备工作,本篇来说说具体如何解析一个脚本 所谓解析脚本,就是按照自己定义的语法,将每一个脚本命令还原成不同的代码逻辑进行执行 ...

  2. 让powershell同时只能运行一个脚本(进程互斥例子)

    powershell,mutex,互斥,进程互斥,脚本互斥 powershell脚本互斥例子,在powershell类别文章中,声明原创唯一. powershell 传教士 原创文章 2016-07- ...

  3. python脚本编程手册_Python 入门指南 — Python2.7 手册 2.7 documentation - 脚本之家在线手册...

    Python 入门指南¶ Release:2.7 Date:December 06, 2014 Python 是一门简单易学且功能强大的编程语言.它拥有高效的高级数据结构,并且能够用简单而又高效的方式 ...

  4. python 3.8教程_Python 3.8 新功能全解

    Python 3.8是Python语言的最新版本,它适合用于编写脚本.自动化以及机器学习和Web开发等各种任务.现在Python 3.8已经进入官方的beta阶段,这个版本带来了许多语法改变.内存共享 ...

  5. python爬虫英文翻译_Python爬虫实现翻译功能

    前言 学了这么久的python理论知识,需要开始实战来练手巩固了. 准备 首先安装爬虫urllib库 pip install urllib 获取有道翻译的链接url 需要发送的参数在form data ...

  6. python测试管理平台_Python + flask+ selenium 自动化测试用例管理、执行平台

    写在开篇 这个项目放到论坛之后,有很多热心的小伙伴试用,并且在github上面也点赞和 fork. 感谢各位的支持! 不过可能大家使用习惯的问题, 遇到有什么问题,或者看到我在下面的回帖里回复了 qq ...

  7. python中sys用法_Python中sys模块功能与用法实例详解

    Python中sys模块功能与用法.,具体如下: sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. sys.argv 传递给Pyth ...

  8. python语言编程函数_Python编程语言的函数功能

    编程语言导游财报抄写员. 工具/原料 电脑 Python 工作原理 1 如果你有一定的Python基础,想必现在已经熟悉print(),input(),len()函数.Python提供这样一些内建函数 ...

  9. python京东预约抢购_Python实现京东秒杀功能代码

    本文实例为大家分享了Python实现京东秒杀功能的具体代码,供大家参考,具体内容如下 #Python 3.5 #coding:utf-8 #import scrapy from selenium im ...

最新文章

  1. php退出页面父元素,jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码...
  2. 口袋中的xmind如何添加优先等级图标
  3. JAVA_HOME和CLASSPATH设置
  4. spring boot 启动卡住_SpringBoot 居然有 44 种应用启动器
  5. mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
  6. 一行Python代码就可以下载任意网站视频,零基础小白也能轻松学会
  7. AI 工程师的崩溃是在哪一瞬间
  8. 潜在语义索引(Latent Semantic Indexing, LSI)——快速教程
  9. atitit.面向过程的编程语言异常处理 c语言 asp vbs 的try catch 实现
  10. matlab矩阵逆时针旋转90度_matlab矩阵旋转任意角度的函数 imrotate
  11. Kubernetes 外部 IP Service 类型
  12. Latex——页眉页脚
  13. 基于ASAM ODS标准的试验数字化平台-WDP
  14. 利用VBA将excel中链接转换为图片形式存放在指定的单元格中
  15. 如何查找某个物种的基因组大小
  16. 清华大学计算机系研究生培养方案,攻读硕士学位研究生培养方案
  17. HTML5学习笔记(三)
  18. VSCode+Marp:用Markdown做幻灯片(进阶篇)-宋森安
  19. Eclipse Che安装使用
  20. 利用FPGA仿真软件modelsim仿真波形显示图片

热门文章

  1. 解耦与人类行为 (完整)
  2. linux服务器下降,linux - 远程升级Ubuntu:如何最大程度地降低丢失服务器的风险? - Ubuntu问答...
  3. 热式气体质量流量计检定规程_宁夏热式气体质量流量计价位,玻璃管液位计怎么样...
  4. Mybatis源码阅读(三):结果集映射3.1 —— ResultSetBuilder与简单映射
  5. oracle安装向导卡住了_JDK 8 的安装与配置
  6. mysql 聚合函数 怎么用在条件里_MySql 中聚合函数增加条件表达式的方法
  7. Java BigInteger类| toByteArray()方法与示例
  8. java 逻辑表达式 布尔_使用基本逻辑门实现布尔表达式
  9. sumo的简单应用_sumo快速运行简单仿真实例详细教程
  10. arraylist能否接收强转类型_ArrayList 源码解析