周梦康 发表于 2021-04-07 19 次浏览 标签 : strace

今天要下线 memcache 服务,由于是祖传代码,虽然按照代码里面的开关配置了关闭,实际通过 netstat 观察还在请求

while :; do sleep 1;sudo netstat -p|grep "11211" ; done ;

代码看了半天看不明白,可以考虑看下系统调用,看能不能找到一些线索

sudo strace -o strace.log -s 1024 $(pidof "php-fpm" -o 26136 | sed 's/\([0-9]*\)/-p \1/g')
  • 26136是主进程,主进程不处理业务逻辑,还得看子进程的
  • - o 输出到指定文件
  • - s 当系统调用的某个参数是字符串时,最多输出指定长度的内容,默认是32个字节

然后再开个终端

sudo tail -f strace.log|grep 11211 -m 1 -B 4000|grep open
  • - B 4000 是随便输入的,根据自己业务的复杂度,多试几次
  • - m 1 是找到一次匹配就停止

评论列表