system3
Pass a command to the shell
Usage
#include <stdlib.h>
int
system(const char *string);
Library
Standard C Library (libc, -lc)
Overview
The system() function hands the argument string to the command interpreter sh(1). The calling process waits for the shell to finish executing the command, ignoring SIGINT and SIGQUIT, and blocking SIGCHLD.
If string is a NULL pointer, system() will return non-zero if the command interpreter sh(1) is available, and zero if it is not.
Return values
The system() function returns the exit status of the shell as returned by waitpid(2), or -1 if an error occurred when invoking fork(2) or waitpid(2). If the child process fails to execute the shell, it will terminate with an exit code of 127 and system will return the corresponding exit status.
Security considerations
The system() function is easily misused in a manner that enables a malicious user to run arbitrary commands, because all meta-characters supported by sh(1) would be honored. User supplied parameters should always be carefully sanitized before they appear in string.
Releases
87 releases since FreeBSD 2.0.5-RELEASE; the text changed 46 times.