python copy文件超时_Python pythondaemon锁文件超时打开锁眼()

我同意@ExploWare的观点,因为他演示了如何捕获那些LockTimeout异常。在

因此,作为一种调试和查看是什么进程持有这个锁的方法,这里有一段外部代码可以运行。。。在import daemon.pidfile

import os

import lockfile

# We know the lockfile name.

pidfile = daemon.pidfile.PIDLockFile(

os.path.join("/MyApp/","filelock.pid"))

# This current process id...

os.getpid()

# 46337

那么哪个进程获得了这个锁(如果有的话)?在

^{pr2}$

当我们的PIDLockFile实例尝试“acquire”时pidfile.__dict__

# {'unique_name': '/MyApp/filelock.pid', 'lock_file': '/MyApp/filelock.pid.lock', 'hostname':

# 'MyMachine.local', 'pid': 46337, 'timeout': None, 'tname': '', 'path': '/MyApp/filelock.pid'}

pidfile.acquire()

#

# (Had to Control-C quit because I didnt set a timeout on PIDLockFile )

#

# ^CTraceback (most recent call last):

# File "", line 1, in

# File "/Users/michal/venf/lib/python2.7/site-packages/lockfile/pidlockfile.py", line 92, in acquire

# time.sleep(timeout is not None and timeout/10 or 0.1)

# KeyboardInterrupt

因此,使用@ExploWare的异常捕捉。在# Wait only 5 seconds.

pidfile.timeout = 5

try:

pidfile.acquire()

except lockfile.LockTimeout:

print 'locked . need to wait or move on.'

#

# locked . need to wait or move on.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值