Se puede suspender y luego matar el ssh
proceso que está colgado. Para ello hay que emitir la secuencia de escape, suspender el ssh
y, a continuación, utilizar kill -9
para matar ese proceso.
La clave de escape por defecto para el ssh que viene con OS X la ~
carácter. Tienes que introducirlo inmediatamente después de una nueva línea para que ssh lo respete. Y luego la secuencia de claves Control - z se utiliza para suspender y poner en segundo plano una tarea en bash.
Así que prueba esta secuencia de teclas:
Return
~
Control - z
Si funciona, verás algo así:
myhost.local:~ |ruby-2.2.0|
> ssh someremotehost
Last login: Fri Mar 6 14:15:28 2015 from myhost
someremotehost:~ |ruby-2.2.0|
> ~^Z [suspend ssh]
[1] + 48895 suspended ssh myremotehost
Esta línea de salida:
[1] + 48895 suspended ssh myremotehost
le indica el ID del proceso del ssh
en su máquina. Es 48895
en este ejemplo. Ese proceso sigue en marcha, sólo ha sido suspendido y puesto en segundo plano. Tienes que matarlo.
Puede hacerlo con el kill
comando. Quieres matarlo con prejuicios así que usa el comando -9
cuando llame a kill
así:
myhost.local:~ |ruby-2.2.0|
> kill -9 48895
[1] + 48895 killed ssh someremotehost
Sólo hay que utilizar el PID de su ssh
cuando se llama a ese comando en lugar del 48895
PID que utilicé arriba.
Y tendrás tu prontitud de vuelta.
Como alternativa, puede abrir una segunda ventana de Terminal y utilizar ps
para encontrar el ssh
en la lista de procesos y emitir el kill -9
contra el PID. Sin embargo, eso anula el proceso de recuperar el prompt en la ventana original de la Terminal, ¿no es así?