1
youngzy 2021 年 6 月 11 日 via Android
如果自用的话可以考虑占用一个高位端口
|
2
NoahNye 2021 年 6 月 11 日 via iPhone
直接注册成服务运行
|
3
hs0000t 2021 年 6 月 11 日 via Android
占端口+1
|
4
18870715400 OP @hs0000t 谢谢, 这个方法可行
|
5
18870715400 OP @youngzy 但是如果需要保证 100% 准确的话, 端口一开始还有可能被其它程序占用, 那么还有其它什么方法么
|
6
abersheeran 2021 年 6 月 11 日 via Android
@18870715400 利用 Windows 的文件特性。只要有一个进程拿到了一个文件的写入权限,其他进程想以写入模式打开这个文件就会报错。
|
7
xupefei 2021 年 6 月 11 日 via iPhone
mutex
pid |
8
Jirajine 2021 年 6 月 11 日 via Android 常用的办法是通过文件来模拟 lock,很多很多程序都这么干。像 cargo/pacman/borg 等等。
|
9
18870715400 OP @Jirajine 好的, 谢谢.
|
10
ClericPy 2021 年 6 月 11 日
很多软件确实留一个 pid lock 在目录下面, 每次读取这个目录下面的 pid 看看是否存活
印象中 gunicorn 就有一个类似的 |
11
typetraits 2021 年 6 月 11 日
Windows 下推荐使用 Named Mutex
https://docs.microsoft.com/en-us/windows/win32/sync/using-named-objects |
12
Rhilip 2021 年 6 月 12 日 我赞同 L8 的观点,用 FileLock
https://pypi.org/project/filelock/ |
13
ho121 2021 年 6 月 12 日 via Android
|
14
Akiya 2021 年 6 月 13 日 via iPad
通常做法是文件锁
|
15
402124773 2021 年 6 月 13 日
之前做了个小工具,要检测某个 python 的进程是否一直在运行,用 cmd 脚本,tasklist 命令去循环
|
16
qile1 2021 年 6 月 20 日 via Android
使用文件锁可以实现
|