摘要:一、问题 在使用gdb7.3.1调试进程的时候,出现提示不识别一些类型(gdb) ptype Functional._M_invokertype = int (*)(const std::_Any_data &, <unknown type in /home/tsecer/std.function/
阅读全文
摘要:零、问题 git每天提交保存的是完整修改后的内容,那么多次修改同一个文件,多次提交可能会生成多个版本。如果checkout特定版本需要依赖历史版本的话,那么此时回溯的时候需要判断特定文件是不是最后一次提交的,并且只保留最后一次修改的版本。 一、测试一次完整的提交包含了什么 1、1 先创建一个空的gi
阅读全文
摘要:一、保活的问题 之前一个同事问起一个问题:服务器通常不会主动检测客户端是否依然有效,在这种情况下,如果客户端异常退出后服务器依然维护着这条链路,随着时间的推移,过多的无效链接最终将会把服务器的资源消耗殆尽。举个例子:假设客户端是一个手机终端,用户可以抠出电池重启系统,这种情况下客户端的TCP协议栈没
阅读全文
摘要:一、终端显示 大部分使用SecureCRT的用户可能都会经历这种情况,不小心cat了一个二进制文件,导致整个屏幕显示错乱,使用reset,stty -sane都没有办法恢复,只能重新打开一个终端。我之前就知道它是由于终端中SI控制字符导致的问题,但是更深入的原因没有进一步分析。后来我尝试使用另一种开
阅读全文
摘要:一、终端编辑 之前的终端都是为了便于人机交互而设计,交互性比较强。用户输入过程中,通常不是一蹴而就,也不可能没有笔误。所以终端通常是基于行为单位进行处理,在用户输入了回车之后才向用户态返回整个输入内容,也就是shell的一条命令。同样是为了便于用户编辑,在内核态支持简单的编辑命令,例如删除一个单词,
阅读全文
摘要:一、screen这个工具在其它地方有所耳闻,在实际工作中没有遇到过这种情况,准确的说是没有直接遇到这种情况。就像之前使用windows下的远程桌面一样,也是在无意中发现,之后在需要远程桌面的时候想到这种工具,才觉得工具非常好用。对于screen命令的使用也是如此,并没有刻意的去寻找一个特定的工具,虽
阅读全文