SYSTEM(3) BSD Programmer's Manual SYSTEM(3)
system - pass a command to the shell
#include <stdlib.h> int system(const char *string);
The system() function hands the argument string to the command inter- preter sh(1). The calling process waits for the shell to finish executing the command, ignoring SIGINT and SIGQUIT, and blocking SIGCHLD. If string is NULL, system() will return non-zero. Otherwise, system() re- turns the termination status of the shell in the format specified by waitpid(2).
If a child process cannot be created, or the termination status of the shell cannot be obtained, system() returns -1 and sets errno to indicate the error. If execution of the shell fails, system() returns the termina- tion status for a program that terminates with a call of exit(127).
sh(1), execve(2), waitpid(2), popen(3)
The system() function conforms to ANSI X3.159-1989 ("ANSI C89") and IEEE Std 1003.2-1992 ("POSIX.2").
Never supply the system() function with a command containing any part of an unsanitized user-supplied string. Shell meta-characters present will be honored by the sh(1) command interpreter. MirBSD #10-current June 29, 1991 1