2015-04-26 9 views

risposta

8

Come @ José ha menzionato che proc fs è speciale poiché i contenuti del file sono generati al volo. Se guardi le dimensioni dei file in/proc vedrai che hanno la dimensione 0.

Credo che questo sia il motivo per cui la funzione read non restituisce nulla, il file è vuoto!

La soluzione è quello di forzare, leggere un numero di byte in ogni caso, in Erlang si può fare:

{ok, FD} = file:open("/proc/cpuinfo", [read]). 
file:read(FD, 1024). 

Per leggere tutto il contenuto continuare a leggere il numero fisso di byte fino EOF viene restituito da read.

+5

Equivalente creato in ** elixir ** 'File.stream! ("/Proc/cpuinfo ", [],: line) |> Enum.each (fn chunk -> String.strip (chunk) |> IO.puts end) ' – djinn