2010-10-04 3 views
0

Je veux exécuter deux scripts Perl en même temps à partir du même répertoire, à partir de l'invite de commande, de sorte que l'une de leurs sorties ne doit pas affecter les autrescomment exécuter deux scripts perl simultanément à partir du même répertoire?

+0

Est-ce que les scripts demandent une entrée? ou juste produire une sortie? – codaddict

+0

Non, ils ne demandent aucune entrée. Il suffit de produire la sortie – Hick

+1

Est-ce qu'ils doivent fonctionner exactement au même moment pour un certain temps? – thomasmalt

Répondre

0

Just do it. Ils n'interagiront pas à moins d'écrire des fichiers. S'ils écrivent des fichiers et que les noms de fichiers ne sont pas configurables, vous n'avez pas de chance - vous devrez les exécuter à partir de répertoires séparés (ou rendre les noms de fichiers configurables, et pour cela vous n'avez pas donné assez d'informations).

+0

Je veux le faire avec une commande. Je veux dire que je ne veux pas les faire fonctionner séparément – Hick

3

Si la sortie de scripts pour stdout, vous pouvez simplement les tuyaux à deux fichiers différents:

perl script1.pl >output1.txt & perl script2.pl >output2.txt & 

Le dernier esperluette est bien sûr en option, si vous voulez que votre terminal pour bloquer. Cela place la première commande en arrière-plan, en exécutant la seconde immédiatement après que la première a démarré. Comme la sortie est acheminée vers deux fichiers différents, la sortie ne sera pas mélangée.

2

bien ce qui ne va pas à essayer

scriptone > outputone.log && scripttwo > outputtwo.log 

?

Questions connexes