Как определить, почему процесс умирает?

Как определить, почему процесс умирает?

На сервере CentOS 6.5 я запускаю очень простой HTTP-прослушиватель с Sinatra, который существует только для приема POST-запросов и передачи полезной нагрузки POST-запроса другой службе.

Я часто обнаруживаю, что процесс с PID службы Sinatra больше не существует, без каких-либо объяснений в журналах.

У меня есть отладочный уровень ведения журнала в коде Sinatra, но я по-прежнему не могу понять, что именно происходит на компьютере и приводит к завершению процесса.

Что я могу сделать на стороне Linux, чтобы отслеживать этот конкретный процесс и определить причину его завершения?

решение1

Вы можете попробовать сделать

strace -p pid-номер >& /tmp/process.txt

После завершения процесса вы можете изучить содержимое /tmp/process.txt.

pid-number следует заменить на числовой pid, если процесс вы хотите изучить.

Связанный контент