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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Глава 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