chore(scanner): do not show logs when lsof: no Internet files located (#1688)

This commit is contained in:
MaineK00n
2023-06-23 16:08:49 +09:00
committed by GitHub
parent 97cf033ed6
commit 4253550c99

View File

@@ -1305,10 +1305,15 @@ func (l *base) parseGrepProcMap(stdout string) (soPaths []string) {
return soPaths
}
var errLSOFNoInternetFiles = xerrors.New("no Internet files located")
func (l *base) lsOfListen() (string, error) {
cmd := `lsof -i -P -n`
cmd := `lsof -i -P -n -V`
r := l.exec(util.PrependProxyEnv(cmd), sudo)
if !r.isSuccess() {
if strings.TrimSpace(r.Stdout) == "lsof: no Internet files located" {
return "", xerrors.Errorf("Failed to lsof: %w", errLSOFNoInternetFiles)
}
return "", xerrors.Errorf("Failed to lsof: %s", r)
}
return r.Stdout, nil
@@ -1364,7 +1369,7 @@ func (l *base) pkgPs(getOwnerPkgs func([]string) ([]string, error)) error {
pidListenPorts := map[string][]models.PortStat{}
stdout, err = l.lsOfListen()
if err != nil {
if err != nil && !xerrors.Is(err, errLSOFNoInternetFiles) {
// warning only, continue scanning
l.log.Warnf("Failed to lsof: %+v", err)
}