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')



Просмотров: 1220
17.02.2015, 19:40 -

Категория: Статьи » Администрирование