Skip to content

Commit

Permalink
[Auditbeat] Cherry-pick #9669 and #9682 to 6.6: Skip processes that d…
Browse files Browse the repository at this point in the history
…o not exist anymore (#9694)

A process can exit just after we get a list of PIDs, but before we get around to reading that process. This skips such processes as if we had not seen their PID in the first place.

(cherry picked from commit 2a859fb)
(cherry picked from commit 3702f16)
  • Loading branch information
Christoph Wurm authored Dec 19, 2018
1 parent 30f0d49 commit 1035569
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions x-pack/auditbeat/module/system/process/process.go
Original file line number Diff line number Diff line change
Expand Up @@ -287,11 +287,22 @@ func (ms *MetricSet) getProcessInfos() ([]*ProcessInfo, error) {
for _, pid := range pids {
process, err := sysinfo.Process(pid)
if err != nil {
if os.IsNotExist(err) {
// Skip - process probably just terminated since our call
// to Pids()
continue
}
return nil, errors.Wrap(err, "failed to load process")
}

pInfo, err := process.Info()
if err != nil {
if os.IsNotExist(err) {
// Skip - process probably just terminated since our call
// to Pids()
continue
}

if os.Geteuid() != 0 {
if os.IsPermission(err) || runtime.GOOS == "darwin" {
/*
Expand Down

0 comments on commit 1035569

Please sign in to comment.