Search code examples
javalinuxclojureslurp

slurping /proc/cpuinfo with clojure


(Clojure newbie)

On my linux machine, slurping /proc/cpuinfo raises an error:

user=> (slurp "/proc/cpuinfo")
java.io.IOException: Invalid argument (NO_SOURCE_FILE:0)

Anybody knows why that is? (is the /proc filesystem some kind of second-class citizen in Java?)

Edit: the following code, adapted from nakkaya.com, works flawlessly:

(with-open [rdr (java.io.BufferedReader. 
             (java.io.FileReader. "/proc/cpuinfo"))]
   (let [seq (line-seq rdr)]
   (apply print seq)))

I wonder why this difference ?


Solution

  • I've had a similar problem with files in /proc. The solution is simple though:

    (slurp (java.io.FileReader. "/proc/cpuinfo"))