Puoi sospendere e poi terminare il processo ssh
bloccato. Per fare ciò devi emettere la sequenza di escape, sospendere il processo ssh
e quindi usare kill -9
per uccidere quel processo.
La chiave di escape predefinita per ssh che include OS X il carattere ~
. Devi inserirla immediatamente dopo una nuova riga per ssh per rispettarla. E poi la sequenza di tasti Control - z è usata per sospendere e fare lo sfondo di un'attività in bash.
Quindi prova questa sequenza di tasti:
Return
~
Controllo - z
Se funziona, vedrai qualcosa di simile:
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
Questa linea di output:
[1] + 48895 suspended ssh myremotehost
indica l'ID di processo del processo ssh
sulla tua macchina. È 48895
in questo esempio. Quel processo è ancora in esecuzione, è stato appena sospeso e preinstallato. Devi ucciderlo.
Puoi farlo con il comando kill
. Vuoi eliminarlo con i pregiudizi, quindi utilizza l'opzione -9
quando chiami kill
in questo modo:
myhost.local:~ |ruby-2.2.0|
> kill -9 48895
[1] + 48895 killed ssh someremotehost
Usa il PID del tuo ssh
processo quando chiami quel comando al posto del% pid% PID che ho usato sopra.
E riavrai il tuo prompt.
In alternativa, puoi aprire una seconda finestra di Terminale e usare 48895
per trovare il processo ps
nell'elenco dei processi ed emettere la chiamata ssh
contro il PID. Tuttavia, questo tipo di sconfigge il processo di ottenere il tuo prompt indietro nella finestra del terminale originale, non è vero?