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?
Réponses
Trop de publicités?(use '[clojure.java.shell :only [sh]])
(sh "free")
(sh "top" "-bn1")
Voir aussi: http://clojuredocs.org/clojure_core/clojure.java.shell/sh
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.