Падение процесса

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
Аватара пользователя
dmikai
Старожил
Сообщения: 517
Зарегистрирован: 20 сен 2006, 23:19
Откуда: Рига, Латвия

Падение процесса

Сообщение dmikai » 21 ноя 2017, 00:20

Добрый день

Вот какая интересная задача появилась - есть прогрессовый процесс, который работает в фоновом режиме. Обрабатывает платежи. Так вот иногда он сам собой останавливается.
Запускается с такими параметрами:
-p prg.p -logentrytypes 4GLMessages:4 -debugalert -clientlog progress.log -b >> stdout.log 2>> stderr.log&
При вылете ни в одном из файлов нет НИЧЕГО, чтобы указывало, что процесс упал. Нет protrace, procore файлов.
Ставить полный трейс программы - нереально. Уж очень много там будет.

Может есть идеи, как понять по каким причинам вылет происходит?

Аватара пользователя
Arelav
Администратор
Сообщения: 1881
Зарегистрирован: 25 мар 2005, 17:05
Откуда: Progress Technologies

Re: Падение процесса

Сообщение Arelav » 21 ноя 2017, 10:55

задействовать полный трейс и использовать дополнительные параметры
-numlogfiles
Use Number of Log Files to Keep (-numlogfiles) to specify the total number of rolled over log files to keep on disk at any one time, across OpenEdge sessions, including the current log file.

-logthreshold
Use Log Threshold (-logthreshold) to specify the file size threshold of log files.

Скажем, количество файлов 5. Размером по 50 Мб.
Таким образом, это не будет один большой файл в итоге, а всего 5 по 50, которые содержат только последнюю иформацию, в том числе на момент сбоя.

Однако, имеет смысл проверить систему на наличие скриптов, которые отслеживают долгоиграющие процессы и отстреливают их через kill -9, в этом случае процесс естественно умирает мгновенно, не оставив после себя никаких следов, и даже расширенное логирование не поможет.