Vous pouvez suspendre puis tuer le ssh processus qui a raccroché. Pour ce faire, vous devez émettre la séquence d'échappement, suspendre la ssh processus, puis utiliser kill -9 pour tuer ce processus.
La touche d'échappement par défaut du ssh livré avec OS X le ~ personnage. Vous devez le saisir immédiatement après une nouvelle ligne pour que ssh le respecte. Et puis la séquence de touches Contrôle - z est utilisé pour suspendre et mettre en arrière-plan une tâche dans bash.
Alors essayez cette séquence de touches:
Revenir
~
Contrôle - z
Si cela fonctionne, vous verrez quelque chose comme:
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
Cette ligne de sortie:
[1] + 48895 suspended ssh myremotehost
vous dire l'ID de processus du ssh processus sur votre machine. Ses 48895 dans cet exemple. Ce processus est toujours en cours d'exécution, il vient d'être suspendu et mis en arrière-plan. Vous devez le tuer.
Vous pouvez le faire avec le kill commander. Vous voulez le tuer avec des préjugés alors utilisez le -9 option lorsque vous appelez kill ainsi:
myhost.local:~ |ruby-2.2.0|
> kill -9 48895
[1] + 48895 killed ssh someremotehost
Il suffit d'utiliser le PID de votre ssh processus lorsque vous appelez cette commande à la place du 48895 PID j'ai utilisé ci-dessus.
Et vous aurez votre invite de retour.
Vous pouvez également ouvrir une seconde fenêtre de terminal et utiliser ps trouver le ssh processus dans la liste de processus et émettre le kill -9 appel contre le PID. Cependant, ce genre de processus empêche le retour de votre invite dans la fenêtre d'origine du terminal, n'est-ce pas?