gpt4 book ai didi

Python实现脚本锁功能(同时只能执行一个脚本)

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python实现脚本锁功能(同时只能执行一个脚本)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1. 文件锁 。

脚本启动前检查特定文件是否存在,不存在就启动并新建文件,脚本结束后删掉特定文件.

通过文件的判断来确定脚本是否正在执行.

方法实现也比较简单,这里以python脚本为例 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#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);

文件锁测试结果 。

Python实现脚本锁功能(同时只能执行一个脚本)

Python实现脚本锁功能(同时只能执行一个脚本)

2.端口占用 。

使用socket模块,在脚本执行时,给系统中增加一个端口,在脚本执行完后释放.

脚本执行时,去创建这个端口,如果脚本还在执行,端口会创建失败,提示脚本还在执行.

实现方法也比较简单:Python脚本 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#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实现脚本锁功能(同时只能执行一个脚本),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。

原文链接:http://www.cnblogs.com/FLFL/p/6834918.html 。

最后此篇关于Python实现脚本锁功能(同时只能执行一个脚本)的文章就讲到这里了,如果你想了解更多关于Python实现脚本锁功能(同时只能执行一个脚本)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com