跳到主要内容

is_in_main_process

函数私有源码

flag: bool = is_in_main_process()

函数,用来检查当前进程是否是主进程。

这一检查透过以下功能实现:

https://docs.python.org/zh-cn/3/library/multiprocessing.html#multiprocessing.parent_process

参数

输出

参数类型
说明
flagbool若为True,则当前进程是主进程。注意,该函数无法辨认由subprocess模块创建的子进程。

范例

检查multiprocessing库的效果

import multiprocessing as mproc
import subprocess
from dash_file_cache.utilities import is_in_main_process


def test_proc():
print("multiprocessing:", is_in_main_process())


print("main:", is_in_main_process())
proc = mproc.Process(target=test_proc)
proc.start()
proc.join()
proc.kill()
print(
"subprocess:",
subprocess.check_output(
[
"python",
"-c",
(
"from dash_file_cache.utilities import is_in_main_process;"
"print(is_in_main_process())"
),
],
text=True,
),
)