| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Полный нокдаун системы |
| Автор: CPlusPlusFAN 28.6.2008, 18:21 | ||
| Здравствуйте. Дело в том, что моя программа отправляет систему в глубокий нокдаун по непонятной мне причине. Вот как моя программа работает: выполняется 23 итерации цикла, в каждой из которых происходит 1) копирование файлов и 2) запуск другой программы (всё посредством system), далее 3) с помощью glob проверяется наличие файла, и если он существует, то 4) выполняется запуск ещё 1 программы с передачей данных через пайпы. Самое интересное, если убрать действие 4), то всё работает очень быстро, а если вернуть, то происходит следующее: выполняется 6-8 итераций с нормальной скоростью, затем до 12-той итерации со скрипом и дальше система виснет, причём винчестер усиленно работает. Вот функция, выполняющая шаг 4):
Возможно, это связано с появлением сильного ветвления процессов. Помогите решить эту проблему. Буду очень благодарен. |
| Автор: CPlusPlusFAN 28.6.2008, 22:25 | ||
|
| Автор: Бонифаций 29.6.2008, 03:07 |
| А сколько ресурсов у вас съедает этот Сheck.core ? Може дело просто в том что отработанные check.core остаются в памяти, вся память сьедается и систему уходит в своп? Что vmstat показывает когда система тормозит? (параметры si и so в частности) PS. А вообще зачем это все на C писать? задачка для шелла.. |
| Автор: MAKCim 29.6.2008, 09:28 |
| CPlusPlusFAN, заархивируй и скинь сюда окружение (то, к чему применяется программа) попробую разобраться |
| Автор: CPlusPlusFAN 2.7.2008, 02:12 |
| Извиняюсь, что долго не отвечал. Был в отъезде. Там надо будет ещё в БД записывать. У меня вопрос, что отсылать? Файлы, которые копируются, запускаются и удаляются программой? |
| Автор: MAKCim 2.7.2008, 09:58 | ||
все, что необходимо для корректной работы программы (чтобы можно было тестировать) |
| Автор: CPlusPlusFAN 3.7.2008, 15:28 |
| Вот архив со всеми файлами. ЗЫ Чё то он отказался .tar.gz присоединять, пришлось винраром его. |
| Автор: CPlusPlusFAN 15.7.2008, 01:35 |
| Ура! |