---
name: ssh_tunnel_close
kind: function
lang: go
domain: infra
version: "1.0.0"
purity: impure
signature: "func SSHTunnelClose(pid int) error"
description: "Cierra un tunel SSH enviando SIGTERM al proceso por PID."
tags: [ssh, tunnel, close, remote]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: "error_go_core"
imports: [fmt, os, syscall]
params:
  - name: pid
    desc: "ID del proceso ssh del tunel abierto (obtenido de ssh_tunnel_open)"
output: "nil si el tunel se cerro exitosamente, error en caso contrario"
tested: true
tests: ["abre tunel y lo cierra"]
test_file_path: "functions/infra/ssh_tunnel_test.go"
file_path: "functions/infra/ssh_tunnel_close.go"
---

## Ejemplo

```go
// Abrir tunel
pid, _ := SSHTunnelOpen(conn, 5432, "db-server", 5432)
// ... usar el tunel ...
// Cerrar
err := SSHTunnelClose(pid)
```

## Notas

Envia SIGTERM (cierre limpio) al proceso ssh. El PID viene de SSHTunnelOpen. Si el proceso ya termino, retorna error.
