Envoyé par : the_glu
Date : 03/03/2007 13:42
J'essaie de récupérer la sortie d'un processus que j'exécute comme suit :
// Créer un nsILocalFile pour l'exécutable
var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(command);
// Créer un nsIProcess var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file);
// Lancer le processus. // Si le premier paramètre est true, l'appel du processus sera bloqué // jusqu'à ce qu'il soit terminé. // Les deuxième et troisième paramètres servent à passer des arguments // en ligne de commande au processus. var args = arg.split(' '); process.run(false, args, args.length);
Seulement je ne sais pas comment faire. J'ai essayé en rajoutant " > /tmp/monfichier" dans les arguements, mais ça ne fonctionne pas.
Quelqu'un à une idée ? Un exemple de code autre que celui-ci qui fonctionnerais ?
Merci d'avance.
Envoyé par : Paul Rouget
Date : 03/03/2007 16:03
> /tmp/monfichier
Ça c'est un élément du shell, pas un argument du programme.
Fais un script shell qui redirige la sortie standard, du genre:
redirect.sh -p [programme_a_executer] -a [arguments] -o [fichier_de_sortie]
Ou alors, si tu peux, fais ça dans un composant C++, pour le coup, c'est très simple.
Envoyé par : the_glu
Date : 03/03/2007 16:04
Ou alors, si tu peux, fais ça dans un composant C++, pour le coup, c'est très simple.
D'accord, comment ? Je doit pourvoir faire ça sous Windows ET linux...
Envoyé par : Paul Rouget
Date : 03/03/2007 23:07
et bien fait un composant pour Windows et Linux :)
Si tu n'es pas à l'aise avec le C++ ou les composants XPCom, fais plutôt un script shell.
Envoyé par : the_glu
Date : 03/03/2007 23:22
Ok, ça passe pour les scripts shells !
Merci !
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.