package infra import ( "fmt" "os" "syscall" ) // SSHTunnelClose cierra un tunel SSH enviando SIGTERM al proceso por PID. func SSHTunnelClose(pid int) error { proc, err := os.FindProcess(pid) if err != nil { return fmt.Errorf("ssh tunnel close: process %d not found: %w", pid, err) } err = proc.Signal(syscall.SIGTERM) if err != nil { return fmt.Errorf("ssh tunnel close: cannot signal PID %d: %w", pid, err) } return nil }