22 lines
388 B
Go
22 lines
388 B
Go
//go:build linux || freebsd
|
|
|
|
package fileutils
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
// GetTotalUsedFds Returns the number of used File Descriptors by
|
|
// reading it via /proc filesystem.
|
|
func GetTotalUsedFds() int {
|
|
if fds, err := os.ReadDir(fmt.Sprintf("/proc/%d/fd", os.Getpid())); err != nil {
|
|
logrus.Errorf("%v", err)
|
|
} else {
|
|
return len(fds)
|
|
}
|
|
return -1
|
|
}
|