Создать процесс (используя имя исполняемого файла)
#include <sys/spawn.h>/* If using C and gcc version 2.95, use: */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[],char *const envp[] );/* If using C++ and gcc higher than version 2.95, use: */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_arr],char *const envp[_Restrict_arr] );
NULL
, если аргументы не передаются. Последним элементом argv должен быть NULL
указатель. Сам указатель argv не может иметь значение NULL
.NULL
, то используются значения по умолчанию.NULL
указатель. Каждый указатель в массиве характеризует строку вида: NULL
, то дочерний процесс наследует окружение родительского процесса. PATH
(см. том «Базовые определения» стандарта IEEE Std 1003.1-2001, глава 8, Переменные окружения). Если эта переменная среды не определена, результаты поиска определяются на основе реализации.libc
Функция posix_spawnp() создает новый процесс (дочерний процесс) на основе имени исполняемого файла. Новый образ создается из обычного исполняемого файла. Функция posix_spawnp() может принимать имя исполняемого файла без указания полного пути к нему и производит его поиск.
Для получения дополнительной информации см. posix_spawn().
Идентификатор дочернего процесса. Если возникла ошибка функция возвращает -1
, код ошибки записывается в errno.
posix_spawnattr_t
, posix_spawn_file_actions_t
. PATH
. Если в образ также включены модули адаптивного партиционирования, могут быть возвращены дополнительные коды ошибок:
POSIX 1003.1 Realtime Signals Extension
posix_spawn(), posix_spawn_file_actions_addclose(), posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addopen(), posix_spawn_file_actions_destroy(), posix_spawn_file_actions_init(), posix_spawnattr_addpartid(), posix_spawnattr_addpartition(), posix_spawnattr_destroy(), posix_spawnattr_getcred(), posix_spawnattr_getflags(), posix_spawnattr_getnode(), posix_spawnattr_getpartid(), posix_spawnattr_getpgroup(), posix_spawnattr_getrunmask(), posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy(), posix_spawnattr_getsigdefault(), posix_spawnattr_getsigignore(), posix_spawnattr_getsigmask(), posix_spawnattr_getstackmax(), posix_spawnattr_getxflags(), posix_spawnattr_init(), posix_spawnattr_setcred(), posix_spawnattr_setflags(), posix_spawnattr_setnode(), posix_spawnattr_setpgroup(), posix_spawnattr_setschedparam(), posix_spawnattr_setrunmask(), posix_spawnattr_setschedpolicy(), posix_spawnattr_setsigdefault(), posix_spawnattr_setsigignore(), posix_spawnattr_setstackmax(), posix_spawnattr_setxflags()
Предыдущий раздел: Описание API системной библиотеки