From e01a14e318951de4782908fbdb2b66a652a22065 Mon Sep 17 00:00:00 2001 From: shirou Date: Sat, 7 Oct 2017 11:42:26 +0900 Subject: [PATCH] [net] linux: skip if permission error on getProcInodesAll This fixes #433 --- net/net_linux.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/net_linux.go b/net/net_linux.go index 9ed4533..4fb5939 100644 --- a/net/net_linux.go +++ b/net/net_linux.go @@ -322,7 +322,7 @@ func ConnectionsPid(kind string, pid int32) ([]ConnectionStat, error) { } } if err != nil { - return nil, fmt.Errorf("cound not get pid(s), %d", pid) + return nil, fmt.Errorf("cound not get pid(s), %d: %s", pid, err) } return statsFromInodes(root, pid, tmap, inodes) } @@ -541,6 +541,10 @@ func getProcInodesAll(root string, max int) (map[string][]inodeMap, error) { for _, pid := range pids { t, err := getProcInodes(root, pid, max) if err != nil { + // skip if permission error + if os.IsPermission(err) { + continue + } return ret, err } if len(t) == 0 {