LINUX.ORG.RU

Мой скрипт выдает ошибки Segmentation fault :(


0

0

У меня есть скрипт mp.sh который в свою очередь запускает java-процесс и начинает сливать в консоль логи этого самого процесса. А я написал скрипт start.sh, который нужен для организации удобного HTTP доступа к логам mp.sh :)

Вот текст скрипта start.sh:

#!/bin/bash ./mp.sh start | head -9 | sed 's/$/<br>/g;' > ./logger/info запускаем mp.sh, берем первые 9 строчек его лога (там всякая важная инфа), и скидываем в файл "инфа" touch ./logger/flag_running ну здесь просто создается флаг - пока он присутствует, прога будет работать, т.е для того чтобы завершить скрипт, нужно просто удалить флаг while test -e ./logger/flag_running do здесь формируется HTML документ: сначала закидываем в него что-то типа <html><body> cat ./logger/htmlhead > ./logger/log потом скидываем заранее подготовленный файл инфы cat ./logger/info >> ./logger/log здесь добавляется тег <hr /> cat ./logger/htmlhr >> ./logger/log добавляем последние 30 строчек лога tail -30 mp.log | sed 's/$/<br>/g;' >> ./logger/log добиваем </body></html> cat ./logger/htmlend >> ./logger/log копируем полученный файл туда, где он виден апачу cp ./logger/log /var/www/mplog.html done ./mp.sh stop sleep 1 rm ./logger/log

И все работает вроде нормально, но: 1. Периодически обнуляется /var/www/mplog.html (т.е там просто файл 0-й длины) 2. Если долго прогонять прогу, то появляются ошибки: ./start.sh: line 12: 19553 Segmentation fault cat ./logger/htmlend >> ./logger/log ./start.sh: line 12: 25099 Killed cat ./logger/htmlhead > ./logger/log ./start.sh: line 12: 7409 Broken pipe tail -30 mp.log 7410 Segmentation fault | sed 's/$/<br>/g;' >> ./logger/log ./start.sh: line 12: 16629 Segmentation fault cat ./logger/htmlhead > ./logger/log ./start.sh: line 12: 25574 Segmentation fault cat ./logger/htmlhead > ./logger/log ./start.sh: line 12: 7851 Killed cp ./logger/log /var/www/mplog.html ./start.sh: line 12: 3421 Broken pipe tail -30 mp.log 3422 Segmentation fault | sed 's/$/<br>/g;' >> ./logger/log ./start.sh: line 12: 9126 Segmentation fault cat ./logger/info >> ./logger/log ./start.sh: line 12: 22227 Segmentation fault cat ./logger/htmlhead > ./logger/log ./start.sh: line 12: 30735 Done tail -30 mp.log 30736 Segmentation fault | sed 's/$/<br>/g;' >> ./logger/log ./start.sh: line 12: 13793 Segmentation fault cat ./logger/info >> ./logger/log ./start.sh: line 12: 25802 Segmentation fault tail -30 mp.log 25803 | sed 's/$/<br>/g;' >> ./logger/log

Подскажите, где ошибка? В какую сторону копать?


Хмм, ничего толкового сказать не могу, единственное - я бы вставил хотя бы секундную паузу в цикле.. Да, и форматирование хромает немного

Laz ★★★★★
()

память кончается? см. top + ulimit

cobold ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.