Je commence à développer une extension qui doit interagir avec une application externe. Je peux exécuter l'application externe comme décrit here, mais je ne vois pas un moyen d'obtenir des commentaires. La seule information que je reçois est le statut de sortie, alors que j'ai besoin de lire la sortie de l'application, comme elle apparaîtrait sur un terminal (stdout). Y a-t-il un moyen de faire cela?Existe-t-il un moyen d'obtenir des commentaires à partir d'un processus dans XUL?
1
A
Répondre
1
Après avoir exécuté le nsiProcess, bouclez tout en vérifiant l'attribut isRunning. Lorsqu'il s'arrête, vérifiez l'attribut exitValue. Si je comprends bien, cela peut se comporter différemment sur différentes plates-formes, mais je l'ai utilisé avec succès sur Windows.
Il n'y a pas besoin de boucle, je peux obtenir un observateur notifié lorsque le processus est terminé. Mais je ne trouve pas la sortie, n'est-ce pas? La valeur de sortie doit être 0 si le processus s'est terminé correctement et un code numérique différent de 0 s'il y a des problèmes dans l'exécution. – Andrea
Je ne sais pas comment obtenir une notification d'observateur, mais je le fais en ayant setInterval vérifier le isRunning, puis lire exitValue. Êtes-vous en train de dire que vous vérifiez la valeur exitValue et qu'elle n'est pas définie? – pc1oad1etter
Désolé, je n'ai lu cette réponse maintenant. Je dis juste que exitValue n'est pas la sortie. Merci quand même. Pour notifier un observateur, vérifiez la méthode runAsync ici: https://developer.mozilla.org/en/nsIProcess – Andrea