Ich habe Python-Skript run.py:Run mehr Python-Programme zur gleichen Zeit
def do(i):
# doing something with i, that takes time
start_i = sys.argv[1]
end_i = sys.argv[2]
for i in range(start_i, end_i):
do(i)
Dann laufe ich dieses Skript:
python run.py 0 1000000
Nach 30 Minuten Skript beendet ist. Aber es ist zu lang für mich.
python run.py 0 200000 &
python run.py 200000 400000 &
python run.py 400000 600000 &
python run.py 600000 800000 &
python run.py 800000 1000000
Dann laufe ich dieses Skript:
bash run.sh
Nach 6 Minuten Skript abgeschlossen ist
Also, ich Bash-Skript run.sh erstellen. Eher gut. Ich bin froh.
Aber ich denke, es gibt einen anderen Weg, um das Problem zu lösen (ohne Bash-Skript zu erstellen), nicht wahr?
Ich habe es gerade versucht. Es funktioniert so gut! Vielen Dank – imkost
Sie sind herzlich willkommen –
@imkost: Wenn Sie nicht die 'p.map()' s zurückgegebene Werte verwenden, dann könnten Sie 'für _ in p.imap_unordered (do, range (start_i, end_i)): pass '. – jfs