Как я могу определить, почему процесс умирает?
На сервере CentOS 6.5 я использую очень простой HTTP-прослушиватель с Sinatra, который существует просто для приема запросов POST и передачи содержимого полезной нагрузки запроса POST другой службе.
Я часто нахожу, что процесс с PID службы Sinatra больше не существует, без объяснений в журналах.
У меня ведется логирование на уровне отладки в коде Sinatra, и я до сих пор не понимаю, что происходит на коробке, что может привести к смерти процесса.
Что я могу сделать на стороне Linux с этой проблемой, чтобы отслеживать этот конкретный процесс и определять, что является причиной его уничтожения?
1 ответ
Вы могли бы попытаться сделать
strace -p pid-number >& /tmp/process.txt
После завершения процесса вы можете изучить содержимое /tmp/process.txt
номер pid должен быть заменен числовым pid, если процесс, который вы хотите изучить.