|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Dmitry A. Nikitin 2:5020/400 01 Nov 2006 14:58:40 To : All Subject : Определение ID процесса. -------------------------------------------------------------------------------- Hi, all. Ситуация такая. Есть некое серверное приложение которое время от времени падает из-за наличия багов. Для их изучения и исправления смотрится дамп. Проблема вот в чём: дамп сохраняется ОСью как core.$pid. Хотелось бы узнать этот $pid для автоматической обработки дампа. Вопрос. Как узнать pid при запуске приложения, что бы можно было его обработать следующим образом: PROG=./bin/myprog #loop forever while true do $PROG $* # PID=`ps -C myprog -o pid=`; # pid process of myprog if [ $? -eq 0 ]; then break; # the binary exited properly, usually due to a "exit" fi if [ -f core.$pid ]; then # check a core was dumped echo "bt" > debug.cmds; echo "info locals" >> debug.cmds; echo "info sharedlibrary" >> debug.cmds echo "info frame" >> debug.cmds; echo "----------------------------------------------" >> $DEBUG_LOG echo "CRASH: `date`" >> $DEBUG_LOG $GDB $PROG core -x debug.cmds -batch >> $DEBUG_LOG echo "End of crash report" >> $DEBUG_LOG echo "----------------------------------------------" >> $DEBUG_LOG echo $CRASH_DEBUG_MSG rm debug.cmds tail ./Server.log > ./log/crash.log fi Далее перезапускается ели упал. echo "`date`: Server Died" sleep $TIMEOUT # don't thrash the hard disk if the server dies, wait a little done # while true -- mailto:dmitry@sbor.spb.su --- ifmail v.2.15dev5.3 * Origin: Home Inc. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1034769599291.html, оценка из 5, голосов 10
|