FastNetMon

Showing posts with label strace. Show all posts
Showing posts with label strace. Show all posts

Thursday, 19 November 2009

strace нескольких процессов

Часто работающий процесс представляет собой связку процессов и мониторить их необходимо все, т.к. заранее неизвестно, каким их процессов будет отработан наш запрос. На этот случай strace умеет принимать набор pid ов процессов, на каждый процесс свой аргумент -p

Получаем список всех процессов по имени:
pidof apache2


Собираем список аргументов:
pidof apache2 | sed 's/\([0-9]*\)/\-p \1/g'


Вызываем strace:
strace -s 1024 -f $(pidof apache2 | sed 's/\([0-9]*\)/\-p \1/g')


На CentOS имя процесса другое:
strace -s 1024 -f $(pidof httpd | sed 's/\([0-9]*\)/\-p \1/g')


Для трейса php-cgi процессов команда будет следующая:

strace -s 1024 -f $(pidof php5-cgi | sed 's/\([0-9]*\)/\-p \1/g')
А вот боеле гибкий вариант для выборки процессов по регулярному выражению:
strace -s 1024 -f $(pgrep php5-fastcgi | sed 's/\([0-9]*\)/\-p \1/g')

А для Nginx:

strace -s 1024 -f $(pidof nginx | sed 's/\([0-9]*\)/\-p \1/g')
Для php5-fpm:

 strace -s 1024 -f $(pidof php5-fpm | sed 's/\([0-9]*\)/\-p \1/g')
Для Apache wsgi:
strace -s 1024 -f $(ps aux|grep wsgi|grep -v 'grep'|awk '{print $2}'| sed 's/\([0-9]*\)/\-p \1/g') 

взято с: отличного сайта