Compartir a través de


_spawnvp, _wspawnvp

Crea un proceso y lo ejecuta.

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 con /ZW.

intptr_t _spawnvp(
   int mode,
   const char *cmdname,
   const char *const *argv 
);
intptr_t _wspawnvp(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *const *argv 
);

Parámetros

  • mode
    Modo de ejecución para llamar al proceso.

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

  • argv
    Matriz de punteros a argumentos. El argumento argv[0] suele ser un puntero a una ruta en modo real o el nombre del programa en modo protegido, y argv[1] con argv[n] es punteros a cadenas de caracteres que forman la nueva lista de argumentos. El argumento argv[n +1] debe ser un puntero NULL para marcar el final de la lista de argumentos.

Valor devuelto

El valor devuelto de un _spawnvp o _wspawnvp sincrónico (_P_WAIT especificado para mode) es el estado de salida del nuevo proceso. El valor devuelto de un _spawnvp o _wspawnvp 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 utiliza específicamente un argumento distinto para llamar a la rutina de exit . Si el nuevo proceso no estableció explícitamente un estado de salida positivo, un estado de salida positivo indica un resultado anormal con una anulación o una interrupción. Un valor devuelto de –1 indica un error (el nuevo proceso no se ha iniciado). En este caso, errno se establece en uno de los valores siguientes:

  • E2BIG
    La lista de argumentos supera los 1024 bytes.

  • EINVAL
    El argumento mode no es válido.

  • ENOENT
    El archivo o la ruta de acceso no se encuentra.

  • ENOEXEC
    El archivo especificado no es ejecutable o no tiene un formato de archivo ejecutable válido.

  • ENOMEM
    Memoria insuficiente para ejecutar el nuevo proceso.

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

Comentarios

Cada una de estas funciones crea un nuevo proceso y lo ejecuta, y pasa una matriz de punteros a los argumentos de línea de comandos y utiliza la variable de entorno PATH para buscar el archivo para ejecutarse.

Estas funciones validan sus parámetros. Si cmdname o argv es un puntero nulo, o si argv señala a un puntero nulo, o argv[0] es una cadena vacía, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones establecen errno en EINVAL y devuelven -1. No se genera ningún proceso nuevo.

Requisitos

Rutina

Encabezado necesario

_spawnvp

<stdio.h> o <process.h>

_wspawnvp

<stdio.h> o <wchar.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad.

Ejemplo

Consulte el ejemplo de _spawn, _wspawn (Funciones).

Equivalente en .NET Framework

Vea también

Referencia

Control de proceso y de entorno

_spawn, _wspawn (Funciones)

abort

atexit

_exec, _wexec (Funciones)

exit, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

system, _wsystem