Quiero escribir un programa C en Linux para llamar a un archivo o programa ejecutable de Linux. ¿Cómo hacerlo?
# include & ltstdlib.h & gt
int system(const char * string);
La cadena de parámetros es ser ejecutado El nombre del archivo o la ruta del programa, o una cadena de comando si se ejecuta un comando.
Otra forma de ejecutar programas externos es la serie de funciones exec, que generalmente se llaman en el proceso hijo de fork. ¿Por qué no llamar a la serie ejecutiva directamente en el proceso principal? ¿Por qué fork lo llama en el subproceso? Debido a que la serie de funciones exec (incluida la función exec) reemplaza el proceso actual con un nuevo proceso, el proceso actual aquí es el programa que usted escribió, lo que significa que el proceso que llamó a la función exec ya no existirá después de que comience el nuevo proceso. Por lo tanto, el código después de la llamada a la función de la serie exec ya no se ejecutará. Si no se coloca en el proceso secundario de bifurcación, el proceso principal del programa que escribe ya no existirá después de ejecutar la función execl. Por lo tanto, el uso de funciones de la serie exec es bifurcarlo primero y luego llamarlo en el proceso secundario. Debido a que todas las funciones de la serie exec se llaman mediante fork, normalmente uso funciones del sistema.