Ctrl-C退出整个tssh
在win上,mintty内用tssh连接远程的Linux服务器,当按下Ctrl-C组合键时,tssh整个直接退出了。
使用ssh时,只会中断远程Linux服务器当前运行的程序。
tssh的这个行为是符合预期的吗?有什么办法只是终止Linux服务器上的程序?
不符合预期。只是 mintty 这样?安装的是 Windows 版 tssh 吗?
对,Windows terminal就不是这样。问题可能出在哪里?
在你按下 ctrl + c 时,可能 mintty 直接杀了 tssh 进程,并没有将 ctrl + c 事件转发给 tssh 进程处理。
ctrl + c 默认是让进程退出,但是进程可以注册自己来处理 ctrl + c 事件。不知 mintty 为什么不遵守这个规则。
你试试加 .exe 即 tssh.exe 运行,看看会不会按 Windows 的方式来处理。
在你按下 ctrl + c 时,可能 mintty 直接杀了 tssh 进程,并没有将 ctrl + c 事件转发给 tssh 进程处理。
ctrl + c 默认是让进程退出,但是进程可以注册自己来处理 ctrl + c 事件。不知 mintty 为什么不遵守这个规则。
你试试加
.exe即tssh.exe运行,看看会不会按 Windows 的方式来处理。
我就是用tssh.exe来运行的
你可以试试 winpty tssh 怎么样,可能需要手工安装 winpty。
你可以试试
winpty tssh怎么样,可能需要手工安装 winpty。
我是在断网的环境下用的,winpty可以支持在断网的环境吗?
应该支持的吧,只要你能连通你的服务器就行。
@SadSock 你的 mintty 是怎么安装的?我安装了 Cygwin 之后,里面默认有个 mintty,先打开 cygwin ,在 cygwin 中运行 mintty,再在 mintty 中运行 tssh xxx 登录 Linux 服务器,Ctrl + C 并不会退出。
@SadSock 你的
mintty是怎么安装的?我安装了Cygwin之后,里面默认有个mintty,先打开cygwin,在cygwin中运行mintty,再在mintty中运行tssh xxx登录 Linux 服务器,Ctrl + C并不会退出。
我的是装git自带的
我的是装git自带的
git bash ?
-
git bash中运行mintty -V,当显示3.6.1时Ctrl + C是有问题的,当显示3.6.4时Ctrl + C是没问题的:$ mintty -V mintty 3.6.1 (x86_64-pc-msys) © 2022 Thomas Wolff, Andy Koppe License GPLv3+: GNU GPL version 3 or later There is no warranty, to the extent permitted by law.$ mintty -V mintty 3.6.4 (x86_64-pc-msys) © 2023 Thomas Wolff, Andy Koppe License GPLv3+: GNU GPL version 3 or later There is no warranty, to the extent permitted by law. -
我也不知为什么我的电脑会有两上不同的版本:
-
git bash中运行mintty,会弹出下面的对话框,我随便选了第一个: -
在
mintty中运行which tssh,我是通过scoop install tssh安装的tssh:$ which tssh /c/Users/lonny/scoop/shims/tssh -
在
mintty中运行tssh -v,是当前的最新版本:$ tssh -v trzsz ssh 0.1.19 -
在
mintty中登录 Linux 服务器,然后按Ctrl + C:$ tssh u22 (ins)lonny@UbuntuVM:~$ ^C (ins)lonny@UbuntuVM:~$ ^C (ins)lonny@UbuntuVM:~$ ^C (ins)lonny@UbuntuVM:~$
- mintty -V
这样啊,我看了一下,我的是显示的是3.6.3,我升级一下试试。
换了新版本的mintty就好了