| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > cgi и stdout |
| Автор: Lych 20.10.2006, 13:44 |
| Возникла такая проблема: пишу cgi скрипт, в нем необходимо вызвать скрипт оболочки. Результаты своей работы скрипт пишет в stdout и как следствие этот текст попадает в браузер, что крайне не желательно. Чтобы этого не происходило делаю так: FILE* stream = freopen( "/wc/freopen.out", "w", stdout); execl("/wc/webmake.sh", 0) fclose(stream); а вот как вернуть stdout в прежнее состояние не знаю. |
| Автор: MAKCim 20.10.2006, 15:30 | ||
|
| Автор: Lych 20.10.2006, 15:51 |
| не работает еслине не запускать скрипт то все отлично, а вот если запустить, то потом ничего не выводится похоже что из execl("/wc/webmake.sh", 0) не возвращается |
| Автор: MAKCim 20.10.2006, 16:10 | ||
| Lych ну да, отвлекся и забыл про execl execl заменяет образ памяти текущего процесса соответствующей программой соответственно из execl процесс не возвращается (затирается сегмент кода) создай новый процесс и в нем сделай execl
|
| Автор: Lych 23.10.2006, 07:33 |
| Огромное СПАСИБО, все заработало. Тему можно закрывать. |