Bonjour à tous, j'ai un problème sur certaines machines que je ne rencontre pas sur d'autres et ne parvient pas à en isoler l'origine.
J'ai créé un fichier test.pl qui contient les commandes suivantes :
Commande qui est censée lancer l'exécution de la classe (java) "test" présente sous un répertoire passé en paramètre avec un ensemble d'autres paramètres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system "commande > fichierlog.log"; exit();
et mettre la sortie dans le fichier fichierlog.log.
Quand j'exécute uniquement la commande directement en invite de commande, tout fonctionne bien, le fichier de log est alimenté avec les logs de la classe exécutée.
Quand je lance la commande perl test.pl => Rien ne se passe.
Par contre, si je modifie mon fichier test.pl pour coder de cette manière :
La commande perl test.pl exécute bien la classe "test".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @args = ("commande","agr1","arg2",...); system(@args); exit();
J'ai donc deux questions :
- Il semblerait que ce soit la longueur de ma commande qui soit en cause dans la première méthode (perl test.pl). Néanmoins, sur certains autres serveurs, la cette commande fonctionne très bien : Est ce qu'il y a un paramétrage quelque part de la taille maximum d'une commande ? comment le voir/modifier ? Est ce que c'est du à une version particulière de perl ou autre ?
- La seconde méthode semble mieux fonctionner, mais me génère les logs dans l'invite de commande de lancement. Comment coder l'équivalent de (> fichierlog.log) avec la seconde méthode ?
Merci par avance,
Partager