Я запускаю программу на Go, которая непрерывно отправляет данные после чтения файла /proc/stat
.
Использование ioutil.ReadFile("/proc/stat")
После пробежки около 14 часов я получил ошибку: too many files open /proc/stat
Нажмите здесь для фрагмента кода.
Я сомневаюсь, что отсрочка f.Close
иногда игнорируется Go или пропускает ее.
Фрагмент кода (в случае, если play.golang.org умрет раньше, чем stackoverflow.com):
package main
import ("fmt";"io/ioutil")
func main() {
for {
fmt.Println("Hello, playground")
fData,err := ioutil.ReadFile("/proc/stat")
if err != nil {
fmt.Println("Err is ",err)
}
fmt.Println("FileData",string(fData))
}
}