我只是在读取/proc/diskstats
文件。我的代码如下:
func ReadFromFile(filepath string)(string){
defer func() {
if err1 := recover(); err1 != nil {
fmt.Println("!!!!!!!!!!!!!!!!Panic Occured and Recovered in readFromFile(), Error Info: ", err1)
}
}()
strData := ""
data, err := ioutil.ReadFile(filepath)
if err != nil{
fmt.Println("File read error: ", err)
return ""
}
strData = string(data)
return strData
}
我收到的错误信息是:
File read error: open /proc/diskstats: too many open files
不仅对于这个文件,我还遇到了其他一些文件出现相同的错误。
我已经运行了这个命令:
root@golang:~# lsof|wc -l
785
请指导我。
lsof|wc -l
统计系统范围内的打开文件数。您必须使用-p
选项运行它以针对您的进程进行统计。实际查看lsof
的输出也有助于查看打开的文件描述符以帮助识别问题。 - JimB