脚本是沙沙,辉哥和我在去年解决一个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