Linguaggio C - system()

NOME

system() - esegue un comando di shell

SINOPSI

#include <stdlib.h> int system(const char *string);

DESCRIZIONE

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.

VALORE DI RITORNO

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.

CONFORME A

ANSI C, POSIX.2, BSD 4.3

ESEMPIO

VEDI ANCHE

execve() fork() signal() wait()


Indice-C Indice linguaggio C
Indice librerie Indice librerie C
At Home Umberto Zappi Home Page
Indice funzioni Indice funzioni C