Ар г у м ент 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()), останутся без из м енений.
Если пара м етр file_actions не содержит значение NULL,то файловые дескрипторы, открытые в сыновне м процессе, должны соответствовать открытым файловым дескрипторам вызывающего процесса, но с учетом модификации, проведенной в соответствии с содержимым объекта действий, адресуемого параметром file_actions, и флаго м FD_CLOEXECкаждого из оставшихся открыты м и (после выполнения действий над файла м и) файловых дескрипторов. Порядок выполнения действий над файла м и должен быть таки м.
1. Множество открытых файловых дескрипторов дл я сыновнего процесса должно сначала совпадать со м ножество м открытых файловых дескрипторов для вызывающего процесса. Все атрибуты соответствующих описаний открытых файлов, включал блокировки файлов (с м. описание функции fcntl ()), останутся без из м енений.
2. Маска сигнала, стандартные действия сигналов, а также идентификационные номера эффективного пользователя и группы для сыновнего процесса должны измениться в соответствии со значениями, заданными в объекте атрибутов, адресуемом параметром actrp.
3. Действия над файлами, заданные объектом действий для порождаемого процесса, должны быть выполнены в порядке их добавления в этот объект.
4. Любой файловый д ескриптор, у которого установлен флаг FD_CLOEXEC(с м. описание функции fcntl ()), д олжен быть закрыт.
Тип объекта атрибутов posix_spawnattr_t опре д еляется в заголовке . По м еньшей м ере он д олжен со д ержать атрибуты, опре д еленные ниже.
Если в атрибуте spawn-flags объекта, адресуе м ого пара м етро м attrp, установлен флаг POSIX_SPAWN_SETPGROUP,а атрибут spawn-рдгоиртото же объекта не равен нулю, то группа сыновних процессов д олжна быть за д ана эти м (нену л евы м) атрибуто м объекта.
В качестве специального случал, ес л и в атрибуте spawn-flags объекта, а д ресуемого пара м етро м attrp, установ л ен ф л аг POSIX_SPAWN_SETPGROUP,а атрибут spawn-pgroup того же объекта равен ну л ю, то порож д ае м ый сыновний процесс будет входить в новую группу процессов, идентификатор (ID) которой будет равен значению ID его процесса. Ес л и в атрибуте spawn-flags объекта, адресуе м ого пара м етро м attrp, ф л аг POSIX_SPAWN_SETPGROUPне установ л ен, то новый сыновний процесс наслелует группу ро д ите л ьского процесса.
PS Если в атрибуте spawn-flags объекта, а д ресуе м ого пара м етро м attrp, установлен флаг POSIX_SPAWN_SETSCHEDPARAM,но флаг POSIX_SPAWN_SETSCHEDULERне установлен, то образ нового процесса будет изначально обладать стратегией планирования вызывающего процесса с пара м етра м и планирования, за д анны м и ватрибуте spawn-schedparamoбъeкта, адресуемого пара м етро м attrp.
Если ватрибуте spawn-flags объекта, адресуе м ого пара м етро м attrp, установлен флаг POSIX_SPAWN_SETSCHEDULER(независи м о от установки флага POSIX_SPAWN_SETSCHEDPARAM),то образ нового процесса будет изначально обладать стратегией планирования, заданной атрибуто м spawn-schedpolicy объекта, адресуе м ого пара м етро м attrp, и пара м етра м и планирования, заданны м и ватрибуте spawn-schedparamToro же объекта.
Читать дальше