Exécuter des sous-processus en arrière-plan

J'ai un script python qui prend une entrée, formats en une commande qui appelle un autre script sur le serveur, puis l'exécute à l'aide de sous-processus:

import sys, subprocess

thingy = sys.argv[1]

command = 'usr/local/bin/otherscript.pl {0} &'.format(thingy)
command_list = command.split()
subprocess.call(command_list)

Je ajouter & à la fin parce que otherscript.pl prend un certain temps à s'exécuter, et je préfère avoir exécuter en arrière-plan. Cependant, le script semble encore à exécuter, sans me donner le contrôle à la coquille, et je dois attendre jusqu'à l'exécution des finitions, pour revenir à mon invite. Est-il une autre façon d'utiliser subprocess pleinement exécuter le script dans le fond?

  • Popen c'est beaucoup plus flexible que tout droit sorti call - un peu plus de surcharge, mais il a le contrôle, vous êtes à la recherche pour
InformationsquelleAutor dbishop | 2015-09-15