Le Mardi 4 Mars 2003 22:36, Pierre-Yves Maunier a �crit : > bonjour, je tente d'�x�cuter une commende linux depuis un programme java :
> j'ai bien output.txt qui est cr�� avec le r�sultat de la comande mais le > programme continue de tourner, je ne revient pas a la ligne de commande. je > suis obliger d'interrompre le processus avec CTRL+C > qqn aurait une id�e la dessus ? Bonjour, Je pense que le probl�me vient du fait que dans le premier cas (en passant la redirection dans la ligne de commande), ce travail est g�r� par Linux, alors que si "> output.txt" est �crit dans le code Java, c'est le sh ex�cut� par la VM qui s'en charge; Donc il n'y a aucun retour de la part de ce process-l�. Le probl�me est donc du au fait que la m�thode read(byte[]) est bloquante. Pour �viter le probl�me, il faut soit mettre un timeout (avec un Thread � part), soit utiliser une m�thode non bloquante (pas facile � trouver en Java sauf peut �tre si on utilise la m�thode read() de l'InputStream directement). En esp�rant fournir une aide, Jean-Luc Rossiny

