Python之pid模块使用
pid文件主要用来保存当前程序的PID,并将pid写入到文件中, 在程序执行期间,将锁定这个文件,常用来防止程序重复启动。
# 安装
pip install pip
1
# 主要方法
- PidFile(): 创建pid文件,可设置pid文件存储目录,文件名
# 代码测试
# encoding=utf-8
# pip install pid
import logging
from pid import PidFile
import time
logging.basicConfig(level = logging.DEBUG, format='%(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
# 执行完成pid文件将会自动删除
with PidFile(piddir='./tmp/',pidname='pidtest'):
time.sleep(30)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
在程序没有执行完成,再次运行这个程序时,会出现报错:
Traceback (most recent call last):
File "pid.test.py", line 13, in <module>
with PidFile(piddir='./tmp/',pidname='pidtest'):
File "/usr/local/lib/python2.7/site-packages/pid/__init__.py", line 217, in __enter__
self.create()
File "/usr/local/lib/python2.7/site-packages/pid/__init__.py", line 178, in create
raise PidFileAlreadyLockedError(exc)
pid.PidFileAlreadyLockedError: [Errno 35] Resource temporarily unavailable
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
上次更新: 2022/12/01, 11:09:34