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