SYSTEM(3)

NAME
system - pass a command to the shell

LIBRARY
libc

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 ansiC and p1003.2-92.

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.