| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Код завершения дочернего процесса |
| Автор: HellMilitia 8.5.2010, 00:25 |
| Здравствуйте, товарищи! Задача: создать дочерний процесс, из него запустить стороннюю программу с параметрами и получить код с которым она завершилась. Что сделал я: Во - первых, абсолютно запутался. Вот функция system() возвращает код, но, в данной задаче нужно использовать именно exec(). Создаю дочерний процесс, что далее не знаю. Вопрос: как получить код завершения дочернего процесса? |
| Автор: arto 8.5.2010, 03:41 |
| покажите код |
| Автор: DurRandir 8.5.2010, 12:39 |
| Отличие в том, что system дожидается завершения дочернего процесса, а fork+exec - нет, выполнение основной программы пойдёт дальше. Вам надо установить обработчик сигнала CHLD с вызовом внутри waitpid, которая уже получит код завершения дочернего процесса когда он завершится (и не раньше, логично?)). Поищите примеры использования/почитайте документацию (perldoc perlipc, perldoc -f waitpid). |