55 votes

Comment exécuter des commandes système?

Comment puis-je exécuter le système de commandes spécifiques et d'obtenir leur réponse en Clojure? Par exemple, supposons que nous sommes sur une machine Linux, comment puis-je téléphoner top ou free, et d'obtenir leurs résultats pour la suite du traitement?

80voto

overthink Points 9471
(use '[clojure.java.shell :only [sh]])
(sh "free")
(sh "top" "-bn1")

Voir aussi: http://clojuredocs.org/clojure_core/clojure.java.shell/sh

13voto

mikera Points 63056

Vous devriez être en mesure d'utiliser le Java Runtime.méthode exec comme suit:

(import 'java.lang.Runtime)

(. (Runtime/getRuntime) exec "your-command-line-here")

Le Moteur D'Exécution.méthode exec renvoie à un Processus d'objets que vous pouvez faire une requête pour obtenir la sortie standard etc. en tant que de besoin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X