Como faço para executar um script python em paralelo com diferentes argumentos em linux?

anarquia:

Eu tenho um script python que leva em um argumento assim.

Conda ativar básica python myScript.py arg1

Eu estou ligado ao meu servidor através de ssh assim não haverá nenhum sistema janela. Eu quero correr 5 diferente com o meu script em paralelo. Assim como,

#!/bin/bash
conda activate base
for i in arg1 arg2 arg3 arg4 arg5
do
  python myScript.py $i
done

Mas isso só deixaria a executar código após o outro. Como faço para executá-lo em paralelo?

Mark Setchell:

Com GNU Parallel

parallel python myScript.py ::: arg1 arg2 arg3 arg4 arg5

GNU paralela também pode fazer o sshpara um, ou mais servidores para você, então você não precisa de login:

parallel -S server 'conda activate base; python myScript.sh' ::: arg1 arg2 arg3 arg4 arg5

Além disso, adicionar um shebang como a primeira linha do seu script como este:

#!/usr/bin/env python

e fazer o seu executável script como este:

chmod +x myScript.py

então você pode parar de dizer o seu shell de usar Python cada vez que quiser para executá-lo e usar apenas:

./myScript.py arg

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=351663&siteId=1
Recomendado
Clasificación