/
githubmirror
/
lazygit
Обзор
Документация
Войти
/
githubmirror
/
lazygit
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
vendor/github.com/mitchellh/go-ps/process_linux.go
35 строк
700 B
Stefan Haller
Provide a simple way to debug an integration test
11 сен 2023, 09:17
11 сен 2023, 09:17
b6c892a
Код
Авторство
О чём код?
// +build linux package ps import ( "fmt" "io/ioutil" "strings" ) // Refresh reloads all the data associated with this process. func (p *UnixProcess) Refresh() error { statPath := fmt.Sprintf("/proc/%d/stat", p.pid) dataBytes, err := ioutil.ReadFile(statPath) if err != nil { return err } // First, parse out the image name data := string(dataBytes) binStart := strings.IndexRune(data, '(') + 1 binEnd := strings.IndexRune(data[binStart:], ')') p.binary = data[binStart : binStart+binEnd] // Move past the image name and start parsing the rest data = data[binStart+binEnd+2:] _, err = fmt.Sscanf(data, "%c %d %d %d", &p.state, &p.ppid, &p.pgrp, &p.sid) return err }