_spawnlp, _wspawnlp

Crea y ejecuta un nuevo proceso.

Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.

Sintaxis

intptr_t _spawnlp(
   int mode,
   const char *cmdname,
   const char *arg0,
   const char *arg1,
   ... const char *argn,
   NULL
);
intptr_t _wspawnlp(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *arg0,
   const wchar_t *arg1,
   ... const wchar_t *argn,
   NULL
);

Parámetros

mode
Modo de ejecución para el proceso de llamada.

cmdname
Ruta de acceso del archivo que se va a ejecutar.

arg0, arg1, ... argN
Lista de punteros a argumentos. El argumento arg0 suele ser un puntero a cmdname. Los argumentos arg1 a argN son punteros a las cadenas de caracteres que forman la nueva lista de argumentos. Después de argN, debe haber un puntero NULL para marcar el final de la lista de argumentos.

Valor devuelto

El valor devuelto de un _spawnlp o _wspawnlp asincrónico (_P_WAIT especificado para mode) es el estado de salida del nuevo proceso. El valor devuelto de un _spawnlp o _wspawnlp asincrónico (_P_NOWAIT o _P_NOWAITO especificado para mode) es el identificador de proceso. El estado de salida es 0 si el proceso finalizó normalmente. Puede establecer el estado de salida en un valor distinto de cero si el proceso generado llama específicamente a la rutina exit con un argumento distinto de cero. Si el nuevo proceso no estableció explícitamente un estado de salida positivo, un estado de salida positivo indica una salida anómala con una anulación o una interrupción. Un valor devuelto de -1 indica un error (el nuevo proceso no se inicia). En este caso, errno se establece en uno de los valores siguientes.

Valor Descripción
E2BIG La lista de argumentos supera los 1024 bytes.
EINVAL El argumentomode no es válido.
ENOENT No se encuentra el archivo o la ruta de acceso.
ENOEXEC El archivo especificado no es ejecutable o tiene un formato de archivo ejecutable no válido.
ENOMEM Memoria insuficiente para ejecutar el nuevo proceso.

Para obtener más información sobre estos y otros códigos de retorno, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Comentarios

Cada una de estas funciones crea y ejecuta un proceso nuevo, pasando cada argumento de la línea de comandos como parámetro independiente y usando la variable de entorno PATH para buscar el archivo que se va a ejecutar.

Estas funciones validan sus parámetros. Si o cmdnamearg0 es una cadena vacía o un puntero nulo, estas funciones generan una excepción de parámetro no válida, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones establecen errno en EINVALy devuelven -1. No se genera ningún proceso nuevo.

Requisitos

Routine Encabezado necesario
_spawnlp <process.h>
_wspawnlp <stdio.h> o <wchar.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

Vea el ejemplo de , _spawn_wspawn functions.

Consulte también

Control de procesos y entornos
Funciones _spawn, _wspawn
abort
atexit
Funciones _exec, _wexec
exit, _Exit, _exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem