П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 174969 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 71908 раз(а).

Учебник HTML.
Просмотров 72039 раз(а).

Руководство по PHP5.
Просмотров 42649 раз(а).

Хостинг через призму DNS.
Просмотров 49124 раз(а).

Подборка текстов стандартных документов.
Просмотров 43061 раз(а).

Учебник PHP - Самоучитель
Просмотров 49406 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 49642 раз(а).

Внешние атаки...
Просмотров 40205 раз(а).

Учебник PHP.
Просмотров 35223 раз(а).

SSI в примерах.
Просмотров 26519 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь




Глава 14: Управление процессами.
Сводка операций, проводимых над процессами

Операции, служащие для запуска процессов, перечислены в таблице 14.1.

Таблица 14.1. Операции запуска процессов

Операция Стандартный ввод Стандартный вывод Стандартный вывод ошибок Нужно ли ожидать завершення процесса
System() Наследуется от программы Наследуется от программы Наследуется от программы Да
Строка в обратных кавычках Наследуется от программы Принимается как строковое значение Наследуется от программы Да
Запуск процесса как дескриптора файла для вывода при помощи команды open() Соединен с дескриптором файла Наследуется от программы Наследуется от программы Только во время выполнения close()
Запуск процесса как дескриптора файла для ввода при помощи команды open() Наследуется от программы Соединен с дескриптором файла Наследуется от программы Только во время выполнения close()
fork, ехес, wait, waitpid Выбирается пользователем Выбирается пользователем Выбирается пользователем Выбирается пользователем

Самый простой способ создать процесс — использовать для этого функцию system. На стандартный ввод, вывод и вывод ошибок это не влияет (они наследуются от Perl-процесса). Строка в обратных кавычках создает процесс и передает данные со стандартного вывода этого процесса как строковое значение для Perl-программы. Стандартный ввод и стандартный вывод ошибок не изменяются. Оба эти метода требуют завершення процесса до выполнения другого кода.

Простой способ получить асинхронний процесс (процесс, который позволяет продолжать выполнение Perl-программы до своего завершення) — открыть команду как дескриптор файла с созданием канала для стандартного ввода или стандартного вывода этой команды. Команда, открытая как дескриптор файла для чтения, наследует стандартный ввод и стандартный вывод ошибок от Perl-программы; команда, открытая как дескриптор файла для записи, наследует от Perl-программы стандартный вывод и стандартный вывод ошибок.

Самый гибкий способ запустить процесс — заставить программу вызвать функции fork, ехес и wait или waitpid, которые полностью соответствуют своим UNIX-тезкам. С помощью этих функции вы можете запустить какой-либо процесс синхронно или асинхронне, а также конфигурировать по своему усмотрению стандартный ввод, стандартный вывод и стандартный вывод ошибок*.

* Полезно также знать о формах типа open(STDERR, ">&stdout"), используемых для точной настройки дескрипторов файлов. См. пункт open в главе 3 книги Programming Perl или на man-странице perlfunc(l).

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru