用它解决大问题啦,STRACE应用

脚本是沙沙,辉哥和我在去年解决一个PHP时弄出来的。。。强!

简单而实用。

抓到的TRC文件放在TRC目录下。

如果有异常的进程或输出,可以在里面详细的分析。。

 

#!/bin/bash

mkdir trc
rm -rf trc/*.trc

additional_strace_args="$1"

MASTER_PID=$(ps auwx | grep php-fpm | grep -v grep | grep 'master process'  | cut -d ' ' -f 7)

summarise=""
#shows total of calls - comment in to get 
#summarise="-c"

nohup strace  -r $summarise -p $MASTER_PID -ff -o ./trc/master.follow.trc >"trc/master.$MASTER_PID.trc" 2>&1 &

while read -r pid;
do
    if [[ $pid != $MASTER_PID ]]; then
        #shows total of calls
        nohup strace -s 1024 -r -Tt $summarise -p "$pid" $additional_strace_args >"trc/$pid.trc" 2>&1 &
    fi
done < <(pgrep php-fpm)

read -p "Strace running - press [Enter] to stop"

pkill strace

 

上一篇:Flutter编译打包系统完全解读


下一篇:[20180322]查看统计信息的保存历史.txt