Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupération flux de sortie d'une commande shell

1 réponse
Avatar
clement
Bonjour,

Je voudrais récupéré le flux de sortie d'une commande shell. Ceci ne pose
normalement pas de problème par exemple pour la commande :
"cat /proc/meminfo" ca passe sans pb.

Mais je voulais faire la même manip sur "dmesg | tail -n5" Je pense que
c'est du au pipe. J'ai tenté d'autres écriture : dmesg && tail -n5 - mais
même problème. Je ne récupère rien dans mon flux.

Voici la technique que j'utilise :

Process proc = Runtime.getRuntime().exec(cmd);
InputStream S1= proc.getInputStream();
InputStreamReader conv = new InputStreamReader(S1);
BufferedReader in = new BufferedReader(conv);

Quelqu'un connait une technique pour palier a ce petit problème.

Merci d'avance

1 réponse

Avatar
snamaur
clement wrote in message news:<408aa324$0$15691$...
Bonjour,

Je voudrais récupéré le flux de sortie d'une commande shell. Ceci ne pose
normalement pas de problème par exemple pour la commande :
"cat /proc/meminfo" ca passe sans pb.


Peut etre en utilisant un script shell:
dmesgTail.sh:
#!/sh/bin
dmesg | tail -n5

Et dans le code java:
cmd = "/sh/bin dmesgTail.sh";

Aussi, en utilisant des techniques de redirection sur sortie standard,
mais je ne suis pas sur de la syntaxe (a voir sur des newsgroup unix).
ex: (cet example est faux, c'est juste pour donner une idee):
"dmesg | tail -n5 > &1"

JScoobyCed
----------