Bonjour à tous. Je suis sur un problème depuis quelques temps et ne vois pas trop comment m'en sortir. J'exécute trois commandes UNIX dans un thread. Le thread sert juste à désynchroniser ma page courante de l'execution des commandes UNIX ( celles-ci peuvent être longues et je ne veux pas bloquer l'utilisateur ).

Dans le thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
    // Commande 1 sur marchine UNIX
    Runtime env = Runtime.getRuntime();
    Process process = env.exec("rsh ......");
    process.waitFor();
 
    // Commande 2 sur marchine UNIX
    Runtime env = Runtime.getRuntime();
    Process process = env.exec("rcp fic1");
    process.waitFor();
 
    // Commande 3 sur marchine UNIX
    Runtime env = Runtime.getRuntime();
    Process process = env.exec("rcp fic2");
    process.waitFor();
Le rsh génère 2 fichiers que je récupère par les rcp.

Problème : Les 3 commandes marchent, c'est leur enchainement qui ne marche pas.

Je m'explique : Le premier "rcp" ne fait rien alors que le second marche. Si je double les rcp je vois qu'effectivement il y en a un sur deux qui marche. C'est comme si il était nécessaire de faire une sorte de "flush()" entre chaque exec pour "libérer quelque chose".

Avez-vous déjà rencontré ce genre de problème.

Merci




[Modéré par Didier]
Ajout de tag dans le titre
Ajout de balises code
Lire les règles du forum : Règles du forum Java