当我在 ssh 由于连接问题断开连接后重新连接到服务器时,我希望能够告诉我的旧 bash 会话终止并保存其命令历史记录。
我想会有一种方法可以“写入”丢失的 shell 的 tty 输入缓冲区,或者发送 bash 的信号。
ttyecho
进行修改后,这对我不起作用,我从联机帮助页中意识到,可以通过简单的 SIGHUP
信号轻松实现干净退出,甚至不需要 root(如果是同一用户):
$ kill -HUP 11597
将导致在“丢失”的 shell 中打印“挂起”(如果您测试此并有权访问它),并保存丢失的 shell 的历史记录。
补充:
$ history -a; history -r
然后 (1) 确保不会覆盖新 shell 刚刚写入的历史记录,并且 (2) 使旧 shell 中的历史记录立即可供新 shell 使用。