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.
Partager