linux下strace的用法

#strace多个进程:
strace `ps aux | grep ProcGroupName | grep -v 'grep' | awk '{print "-p " $2}' | xargs echo`

#strace多个进程id下的所有线程
strace `ps -T ProcId1 ProcId2 ... | grep -v TTY | awk '{print "-p " $2}' | xargs echo`

#只strace网络调用:
strace -v -T -e trace=connect,read,readv,write,writev,recvfrom,sendto -f -p ProcId

#或

strace -v -T -e trace=network -f -p ProcId

#如strace redis的网络调用:

strace -e trace=network -t -s 256 -f -p `pgrep redis`

#strace多个进程的网络调用:
strace -s 1024 -v -T -e trace=network -f `ps aux | grep ProcGroupName | grep -v 'grep' | awk '{print "-p " $2}' | xargs echo`

在docker内的极简操作系统镜像里使用strace需要strace的静态编译版本:

./configure LDFLAGS='-static -pthread' --enable-mpers=no

编译完成后只需把bin文件复制到docker里:

docker cp 本地文件路径 容器ID/容器NAME:容器内路径

--end--

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值