system() - esegue un comando di shell
#include int system(const char *string);
La system call system() esegue il comando specificato nella stringa string, chiamando la shell con la sintassi:
/bin/sh -c string (versione UNIX)Ritorna dopo che il comando sia stato completato.
Durante l'esecuzione del comando SIGCHLD (segnale di terminazione del processo child) puo' essere bloccato, mentre i segnali SIGINT (segnale di interrupt da tastiera ^C) e SIGQUIT (segnale di uscita da tastiera ^\) potrebbero essere ignorati.
NOTA:
system() non influisce lo stato di attesa (wait()) su altri processi figli.
Se la stringa string e' NULL, la funzione system() ritorna un valore non nullo se esite un command processor (shell), altrimenti torna zero.Se la stringa string non e' NULL, la funzione system() ritorna un valore che dipende dall'implementazione del sistema operativo.
Nel caso di Linux, system() ritorna 127 se fallisce la chiamata a execve() per la shell "/bin/sh", altrimenti torna -1 se avviene un altro errore, oppure ritorna il return code del comando.
ANSI C, POSIX.2, BSD 4.3
execve() fork() signal() wait()
Indice linguaggio C |
Indice librerie C |
Umberto Zappi Home Page |
Indice funzioni C |