我想使用多重处理在同一时间在不同目录中运行某个进程,并在进程之间平均分配线程。
我已经写了一些函数来汇总工作,但是我不清楚应该如何开始。
import os
import glob
from multiprocessing import Pool
os.system("source /usr/local/gromacs/bin/GMXRC")
def run_gromacs_simulation():
pdb2gmx()
add_ions()
if __name__=='__main__':
with Pool(4) as p:
def pdb2gmx():
pdb2gmx="gmx pdb2gmx -f *.pdb -o conf.gro -ignh <<END \n"
pdb2gmx+="1\n"
pdb2gmx+="1\n"
os.system(pdb2gmx)
os.system("gmx editconf -f conf.gro -o pbc.gro -c -d 0.8")
os.system("gmx solvate -cp pbc.gro -cs spc216.gro -o solvated.gro -p topol.top")
os.system("gmx grompp -f ions.mdp -c solvated.gro -p topol.top -o ions.tpr")
我只想在同一时间通过多处理并划分线程在不同目录中运行os.system()。