Linux TCP连接Connection Refused和Connection timed out的问题
前段时间和其它系统做联调测试,对方系统采用的是负载均衡模式。调试时采用的是多台手机作为客户端发送到对方负载均衡服务器,然后再把报文转发送到我这边的服务端。在测试的时候,对方测试人员说有的手机客户端会偶尔出现报文发不过来的情况。
故事有点长,先发一张tcp三次握手的过程图镇楼~
前段时间和其它系统做联调测试,对方系统采用的是负载均衡模式。调试时采用的是多台手机作为客户端发送到对方负载均衡服务器,然后再把报文转发送到我这边的服务端。在测试的时候,对方测试人员说有的手机客户端会偶尔出现报文发不过来的情况。
故事有点长,先发一张tcp三次握手的过程图镇楼~
昨天在更新完文章《升级博客文章同步微博的插件:PHP正则提取Markdown的图片地址》后,博客突然无法访问了。
最近写了一个*nix环境下的Makefile文件,支持编译C/C++,同时能够通过参数配置生成ELF目标文件、动态链接库(.so)和静态链接库(.a)文件。
最近在写一个Makefile,调试时遇到了libsrcpbl.so: undefined reference to gcProgramName
的问题。在这个Makefile脚本里面,终极目标是通过链接一个自定义的动态库libsrcpbl.so
生成一个ELF目标文件。
由于链接生成libsrcpbl.so动态库的.o文件比较多,无法定位具体的错误程序文件和位置,所以折腾了较长时间。
在unix系统中,通过gnu开源gcc或者g++工具生成的目标文件(object file),可以用nm
、objdump
和readelf
这三个命令来查看。
之前在调试makefile文件的时候,链接动态库出错:libsrcpbl.so: undefined reference to 'gcProgramName'
。也就是变量gcProgramName没定义,后来通过nm -u libsrcpbl.so
命令辅助排查解决了。
昨天在自己的CentOs7.1上写makefile的时候,发现在一个C程序在编译并链接一个已生成好的lib动态库的时候出错。链接命令大概是这样的:
/usr/bin/ld: cannot find -lmyhello collect2: error: ld returned 1 exit status好久没更新博客了,写篇文章除除草。这篇文章主要通过简单的例子说明一下Unix/Linux进程中如果捕捉和处理SIGTERM
、SIGUSR1
和SIGUSR2
信号。
先说明一下这三个信号:
SIGTERM:进程终止信号,效果等同于*nix shell中不带-9的kill命令; SIGUSR1:保留给用户使用的信号; SIGUSR2:同SIGUSR1,保留给用户使用的信号。在上一篇文章讲述了如何在Linux系统中配置BitBucket、GitHub和Coding这三个平台的git账户,这篇文章就分享如何通过shell脚本定时获取自己的CentOS7.1服务器上的备份文件,然后使用git命令同步到这三个平台仓库上。