NAME
system
—
pass a command to the shell
LIBRARY
library “libc”
SYNOPSIS
#include
<stdlib.h>
int
system
(const
char *string);
DESCRIPTION
Thesystem
()
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
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.