我正在用vi开发ssh。
我的问题是,有时我的ssh连接因为我的wifi连接不良而被杀死,之前的进程(如“top”,“rails c”等等)没有被正确杀死。
所以过了一会儿,我得到100%CPU使用率的这些进程(我真的不知道为什么),我需要手动杀死它们。
因为我不是唯一的开发人员,所以它可能变得非常混乱,所以我的老板让我想出一个解决方案。
我该怎么办?
我正在用vi开发ssh。
我的问题是,有时我的ssh连接因为我的wifi连接不良而被杀死,之前的进程(如“top”,“rails c”等等)没有被正确杀死。
所以过了一会儿,我得到100%CPU使用率的这些进程(我真的不知道为什么),我需要手动杀死它们。
因为我不是唯一的开发人员,所以它可能变得非常混乱,所以我的老板让我想出一个解决方案。
我该怎么办?
Answers:
有几种方法:
第二种选择是最简单的选择 screen
要么 tmux
。
连接断开后重新连接,重新登录并恢复屏幕/ tmux会话,然后继续工作。 (用于屏幕使用 screen -r
恢复)。
如果您曾在Windows中使用过远程桌面,那么您可以将其与恢复断开连接的RDP会话进行比较。
ps
为了这。然后用 'kill -1 processID
。这将为进程发送一个SIGHUP。松散翻译这将告诉进程“用户已断开连接。请以适当的方式结束自己。”大多数接收此信号的程序将保存文件,关闭数据库等。如果失败使用 kill -15
要么 kill -9
(-15终止于进程。像-1但更坚持。-15不会发送到进程而是发送给操作系统。这是'kill with prejeduce'命令,可能会造成混乱。
如果你使用ssh与不可靠的连接,你可能想尝试一下: http://mosh.mit.edu/
莫什是为这个目的写的。请注意,您需要在两侧安装它。
screen
在这种情况下也是如此。好答案。 +1。