【发布时间】:2015-02-15 18:26:07
【问题描述】:
在bash 中,我可以执行以下操作:
for f in subdir/*.sh; do
nohup "$f" "$@" &> /dev/null &
done
换句话说,它在后台运行subdir中的所有*.sh脚本,并分离,这样如果主脚本结束,后台脚本不会被终止。
现在,假设我有以下 Python 项目:
proj/
__init__.py
main.py
subdir/
__init__.py
mod_a.py
mod_b.py
mod_c.py
如何执行类似于 bash 脚本的操作?但是参数作为 Python 对象传递?
例如:我有两个字符串a 和b,一个列表l,还有一个字典d
- 加载
mod_a.py,调用mod_a.main(a, b, l, d),然后分离 - 加载
mod_b.py,调用mod_b.main(a, b, l, d),然后分离 - 加载
mod_c.py,调用mod_c.main(a, b, l, d),然后分离 -
main.py可以结束,让mod_a、mod_b和mod_c在后台运行直到完成
【问题讨论】:
标签: python subprocess detach