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.