Назад | Перейти на главную страницу

процесс работает под strace, но не нормально

У меня есть процесс - сценарий Perl - который выполняет:

while true
    check a POP account on a server on the lan
    process any email found
    write logs - messages found, actions taken, errors
    sleep for 15 seconds

Он работает на сервере redhat 7.3 (я унаследовал его, меня не устраивает возраст этого бокса). Он закончился в / etc / inittab, например:

spop:2345:respawn:/usr/local/gw/bin/popdmn 

Если он умирает, init перезапускает его.

В последние пару дней процесс перестанет работать если только это привязано. Когда он просто работает, он никогда не входит на поп-сервер. Как только это будет сделано (через "strace -Ff -p cat /usr/local/gw/var/popdmn.pid"), работает безотказно.

В качестве обходного пути я запускаю screen на сервере с запущенным strace. Очевидно, это далеко не идеально.

Зачем процессу это делать? Я не видел этого раньше.

Кажется, меня укусил древний жучок strace:

https://bugzilla.redhat.com/show_bug.cgi?id=64303

https://bugzilla.redhat.com/show_bug.cgi?id=75709

На этой коробке есть strace-4.4-4, так что похоже, что это ошибка. Похоже, что это самоубийство, так как мы пытались отладить его, и стало только хуже.

kill -CONT работает, чтобы возобновить процесс.

Определенно время обновить эту коробку.

Я полагаю, что самая большая разница в скорости и обработке сигналов.

Что касается скорости, если процесс многопоточный, тогда strace будет изменять время, что мое поведение меняет в отношении условий гонки и т. Д. или информация о времени, относящаяся к поведению протокола.

Пример. Допустим, сервер POP был обновлен и теперь более осторожен в обеспечении того, чтобы одноранговый узел не отправлял несколько команд POP одновременно. Это более полезно на SMTP-сервере как средство предотвращения спама.

Наблюдает ли ваш процесс правильное поведение POP, ожидая ответа от сервера после каждой команды POP? Или он предполагает успех или ждет некоторый промежуток времени между командами.

Если вы фиксируете фактический трафик протокола в случае прохождения и отказа, есть ли какие-либо признаки нарушения протокола?