1// +build linux freebsd
2
3package fileutils // import "github.com/ory/dockertest/docker/pkg/fileutils"
4
5import (
6	"fmt"
7	"io/ioutil"
8	"os"
9
10	"github.com/sirupsen/logrus"
11)
12
13// GetTotalUsedFds Returns the number of used File Descriptors by
14// reading it via /proc filesystem.
15func GetTotalUsedFds() int {
16	if fds, err := ioutil.ReadDir(fmt.Sprintf("/proc/%d/fd", os.Getpid())); err != nil {
17		logrus.Errorf("Error opening /proc/%d/fd: %s", os.Getpid(), err)
18	} else {
19		return len(fds)
20	}
21	return -1
22}
23