Avatar ·

Cómo obtener información de un proceso por su PID en Go

¡Hola a todos! Estoy escribiendo una pequeña herramienta de monitoreo en Go que debe rastrear procesos en ejecución en Linux. Necesito obtener información básica por PID (identificador de proceso): nombre del proceso, estado (en ejecución/dormido/zombie), uso de memoria, tiempo de ejecución y ruta al ejecutable. Empecé simple: leo `/proc/[PID]/status` y `/proc/[PID]/cmdline`. Pero esto parece un parche — tengo que parsear archivos de texto, y para obtener la ruta completa al binario necesito leer el symlink `/proc/[PID]/exe`. Además, no estoy seguro de que sea una solución multiplataforma — en Windows y macOS no hay `/proc`. Por ahora mi código se ve así: ```go package main import ( "fmt" "io/ioutil" "os" "strconv" ) func getProcessName(pid int) (string, error) { data, err := ioutil.ReadFile(fmt.Sprintf("/proc/%d/comm", pid)) if err != nil { return "", err } return string(data), nil } func main() { name, _ := getProcessName(1) fmt.