diff options
Diffstat (limited to '')
-rw-r--r-- | listener/godo.go (renamed from src/godo.go) | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/godo.go b/listener/godo.go index a30aa88..efe9585 100644 --- a/src/godo.go +++ b/listener/godo.go | |||
@@ -128,7 +128,7 @@ func procWatch() error { | |||
128 | tag: PIDEXIT, | 128 | tag: PIDEXIT, |
129 | timestamp: time.Now(), | 129 | timestamp: time.Now(), |
130 | pid: int(data.ProcessPid), | 130 | pid: int(data.ProcessPid), |
131 | exit_code: uint64(data.ExitCode), | 131 | exit_code: int(data.ExitCode), |
132 | exit_signal: int(data.ExitSignal), | 132 | exit_signal: int(data.ExitSignal), |
133 | } | 133 | } |
134 | cookedChan <- cooked | 134 | cookedChan <- cooked |
@@ -139,8 +139,8 @@ func procWatch() error { | |||
139 | } | 139 | } |
140 | 140 | ||
141 | func checkProc(pCooked *Event) { | 141 | func checkProc(pCooked *Event) { |
142 | fileName := fmt.Sprintf("/proc/%d/task/%d/cmdline", pCooked.tgid, pCooked.pid) | 142 | fileName := fmt.Sprintf("/proc/%d/task/%d/", pCooked.tgid, pCooked.pid) |
143 | fd, err := os.Open(fileName) | 143 | fd, err := os.Open(fileName + "cmdline") |
144 | if err != nil { | 144 | if err != nil { |
145 | fmt.Fprintf(os.Stderr, "Err: %v\n", err) | 145 | fmt.Fprintf(os.Stderr, "Err: %v\n", err) |
146 | return | 146 | return |
@@ -155,8 +155,20 @@ func checkProc(pCooked *Event) { | |||
155 | pCooked.argc = len(pCooked.argv) | 155 | pCooked.argc = len(pCooked.argv) |
156 | fd.Close() | 156 | fd.Close() |
157 | 157 | ||
158 | fileName = fmt.Sprintf("/proc/%d/task/%d/cwd", pCooked.tgid, pCooked.pid) | 158 | fd, err = os.Open(fileName + "comm") |
159 | pCooked.cwd, err = os.Readlink(fileName) | 159 | if err != nil { |
160 | fmt.Fprintf(os.Stderr, "Err: %v\n", err) | ||
161 | return | ||
162 | } | ||
163 | scanner = bufio.NewScanner(fd) | ||
164 | scanner.Split(bufio.ScanLines) | ||
165 | for scanner.Scan() { | ||
166 | line := scanner.Text() | ||
167 | pCooked.comm = line | ||
168 | } | ||
169 | fd.Close() | ||
170 | |||
171 | pCooked.cwd, err = os.Readlink(fileName + "cwd") | ||
160 | if err != nil { | 172 | if err != nil { |
161 | fmt.Fprintf(os.Stderr, "Err: %v\n", err) | 173 | fmt.Fprintf(os.Stderr, "Err: %v\n", err) |
162 | pCooked.cwd = "" | 174 | pCooked.cwd = "" |