NAME
system —
pass a command to the
shell
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdlib.h>
int
system(
const char
*string);
DESCRIPTION
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 is
available, or zero if none is available. Otherwise,
system()
returns the termination status of the shell in the format specified by
waitpid(2).
RETURN VALUES
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 termination status for a program
that terminates with a call of
exit(
127).
SEE ALSO
sh(1),
execve(2),
waitpid(2),
popen(3),
shquote(3)
STANDARDS
The
system() function conforms to
ANSI
X3.159-1989 (“ANSI C89”) and
IEEE Std
1003.2-1992 (“POSIX.2”).
CAVEATS
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.