2010-03-15 17 views
1

Comment puis-je contrôler deux processus pour qu'ils s'exécutent alternativement dans des fenêtres de terminal distinctes. par exemple je cours le code pour chacun sur les fenêtres séparées de terminal à 11:59 et tous les deux attendent que l'heure soit 12:00. à ce moment, le processus commence l'exécution et traite deux temps d'attente, disons 10 secondes. puis ils commutent, traitent deux exécutions et traitent une attente. de cette manière, ils se relaient jusqu'à ce que le processus est terminé.Commande de temporisation pour les processus parallèles

+0

Upvoted comme bienvenue à SO, plus, c'est une bonne question. –

Répondre

0

Tuyaux ou tuyaux nommés? Chaque processus attend en lecture que l'autre y écrive un octet.

Également, utilisez éventuellement des fichiers de signaux. Le processus B dort pendant 100 ms, recherche le fichier Foo et répète. Lorsque le processus A crée le fichier, le processus B le supprime et continue. Puis l'inverse se produit avec le fichier Bar.

+0

J'utilise Ubuntu 9.04. Je n'ai jamais fait cela auparavant, donc si vous pouviez me dire par où commencer, ce serait génial. l'idée complète est que les deux fenêtres de terminal fonctionnent sur un seul PC avec un autre ordinateur qui agit comme récepteur connecté via un matériel spécialisé (jamais entendu parler de l'usrp). le PC récepteur identifie les données des sources individuelles et les place dans des fichiers individuels. les deux processus terminaux doivent se relayer pour transmettre. – omrihsan

+0

@omrihsan: Je ne suis pas familier avec ubuntu, mais puisque les deux applications de terminal sont dans une machine et peuvent voir un système de fichiers commun, les fichiers de signalisation devraient fonctionner comme je l'ai décrit. –

0

Vous pouvez utiliser des sémaphores System V ou des mutex nommés Windows (via CreateMutex). Vous pourriez même avoir recours à des verrous de fichiers. Quel système d'exploitation êtes-vous et quelles sont vos restrictions?

+0

J'utilise Ubuntu 9.04. l'idée complète est que les deux fenêtres de terminal fonctionnent sur un seul PC avec un autre ordinateur qui agit comme récepteur connecté via un matériel spécialisé (jamais entendu parler de l'usrp). le PC récepteur identifie les données des sources individuelles et les place dans des fichiers individuels. les deux processus terminaux doivent se relayer pour transmettre. – omrihsan

Questions connexes