|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : avril 2006 Messages : 252 ![]() |
Bonjour à tous!
J'ai un problème bizarre que je vous expose, car je ne comprends pas la réaction de linux... Configuration: Mandriva 2007 GNOME Situation: j'implémente actuellement du code java qui sera exécuté ensuite sur une carte embarquée. Le principe général du programme est simple et multithreading. 1) Au démarrage du programme, une classe est appelée pour créer un Premier Thread qui écoute une entrée d'interrupteur. 2) Un second Thread est demarre, et attend qu'une variable booleenne liee à l'interrupteur passe à true pour démarrer une acquisition video / donnee isse d'une carte d'acquisition 3) Démarre alors Un thread d'acquisition capteur et une instance de classe JMF. Lorsque j'exécute ce programme depuis la console, aucun problème tout fonctionne parfaitement. L'absence de pérphérique type clavier/écran ds l'embarqué m'a donc conduit naturellement à rajouter un script dans le init.d avec un lien vers rc5.d (mon runlevel) pour démarrer le programme au démarrage, avec un "&" pour l'éxécuter en toile de fond. Le problème arrive alors, afin de suivre les différentes erreurs, le programme inscrit ses étapes dans un repertoire Log sous forme de fichier. En effet, le programme s'arrete au Premier Thread, sans même l'exécuter.... Les fichiers précédents étant présents, cela signifie que l'exécution du script est correcte. D'où une question simple: Linux et les thread java sont ils fachés, parce que ce problème me prend la tête... De plus totu s'exécute en root (nécessité de cherger un module pour la carte au démarrage), ce qui réduit encore ma compréhension du phénomène.. Aspirine et conseils/solution seront recus comme des offrandes divines... D'avance un enorme MERCI F. |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : avril 2006 Messages : 252 ![]() |
Bien, rebonjour à tous, je vois que mon problème n'a pas soulevé les foules, mais j'arrive avec de nouvelles infos...
Bien, après recherches, il semble que je me sois trompé de cible.. En effet, le problème ne provient pas de la gestion des thread, mais d'une histoire d'entrée sortie et de redirection J'ai donc modifié mon script de démarrage en rajoutant: Ce qui m'a permis de résoudre en partie mon problème. Mais il en persiste un, toujours lié à la redirection. Elle est liée aux exceptions. si on tape dans une console la commande précédente et que le programme lève une exception qu'il ne peut résoudre, alors il inscrit typiquement: dans la console, mais pas dans le fichier, ce qui semble prouver que la sortie d'erreur ne permet pas de rediriger ce flux. Quelqu'un connait-il un moyen de rediriger cette sortie afin de résoudre définitivement mon problème??? |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : avril 2006 Messages : 252 ![]() |
Et on continue dans la résolution des posts
La solution est: Et oui, tout bêtement, on redirige d'abord la sortie standrad dans un fichier, puis la sortie d'erreur sur la sortie standard (qui est déjà redirigée...) Bonnes fêtes |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com