Вход/Регистрация
Параллельное и распределенное программирование на С++
вернуться

Хьюз Камерон

Шрифт:

A.4. Диаграммы пакетов

Диаграммы пакетов используются для организации элементов системы по группам

Рис.А.11. Диаграммы пакетов могут служить для отображения организации элементов системы. При этом можно использовать стереотипы «система» или «подсистема». Если пакет содержит другие элементы, во вкладке (расположенной слева) можно указать имя пакета

Приложение Б [26]

posix_spawn, posix_spawnp

Имя posix_spawn, posix_spawnp — функции порождения процессов (ADVANCED REALTIME)

Синопсис

SPN #include <spawn.h>

int posix_spawn (

pid_t *restrict pid, const char *restrict path,

const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *restrict attrp, char *const argv[restrict], char *const envp[restrict]); int posix_spawnp (

pid_t *restrict pid, const char *restrict file,

const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *restrict attrp, char *const argv[restrict], char * const envp[restrict]);

Описание

Функции posix_spawn и posix_spawnp предназначены для создания нового (сыновнего) процесса из заданного образа процесса. Новый образ процесса создается на основе обычного выполняе м ого файла, и м енуе м ого файлом образа нового процесса.

Если в качестве результата этого вызова выполняется С-програ мм а, то она должна быть представлена как функция языка С следующи м образо м: int main (int argc, char *argv[]);

Здесь argc— количество аргу м ентов, а argv— м ассив си м вольных указателей на аргу м енты функции. Кро м е того, следующая пере м енная extern char **environ; должна быть инициализирована как указатель на массив символьных указателей на строки описания конфигурации среды.

Аргумент argv представляет собой массив символьных указателей на строки с завершающим нулем. Последний член этого массива (он не учитывается аргу м ентом argc) должен быть нулевым указателе м. Эти строки составляют список аргу м ентов, доступных для образа нового процесса. Значение эле м ента argrv[0] должно указывать на и м я файла, который связан с образо м процесса, запускае м о г о функцией posix_spawn или posix_spawnp.

Аргу м ент envp представляет собой м ассив си м вольных указателей на строки с завершающим нулем. Эти строки составляют среду для образа нового процесса. Массив среды завершается нулевым указателем.

Количество байтов, допустимых для обобщенного аргумента сыновнего процесса и списков строк описания конфигурации среды, составляет {ARG_MAX}. В систе м ной доку м е н тации конкретной реализации (с м. то м Base Definitions стандарта IEEE Std 1003.1-2001, Chapter 2, Conformance) должно быть указано, включаются ли в это значение такие служебные данные, как си м волы конца строки, указатели или байты выравнивания.

Ар г у м ент path, передавае м ый функции posix_spawn , содержит путевое и м я, которое идентифицирует файл образа ново г о процесса.

Пара м етр file , передавае м ый функции posix_spawnp , используется для формирования путевого имени, которое идентифицирует файл образа нового процесса. Если пара м етр file содержит си м вол «косая черта», то пара м етр file следует рассматривать как путевое имя файла образа нового процесса. В противно м случае префикс пути д ля это г о файла должен быть получен путе м поиска в катало г ах, указанных с по м ощью пере м енной среды PATH (с м. то м Base Definitions стандарта IEEE Std 1003.1-2001, Chapter 8, Environment Variables). Если эта Переменная среды не определена, результаты поиска определяются конкретной реализацией.

Если пара м етр file_actions является нулевы м указателе м, то файловые дескрипторы, открытые в вызываю щ е м процессе, останутся открыты м и и в сыновне м, за исключение м тех из них, для которых установлен фла г «закрытия после выполнения» FD_CLOEXEC (с м. описание функции fcntl). Для оставшихся открыты м и файловых дескрипторов все атрибуты соответствую щ их описаний открытых файлов, включал блокировки файлов (с м. описание функции fcntl ), останутся без из м енений.

  • Читать дальше
  • 1
  • ...
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: