SYSTEM(3) OpenBSD Programmer's Manual SYSTEM(3)
NAME
system - pass a command to the shell
SYNOPSIS
#include <stdlib.h>
int
system(const char *string);
DESCRIPTION
The system() function hands the argument string to the command inter-
preter sh(1). The calling process waits for the shell to finish execut-
ing the command, ignoring SIGINT and SIGQUIT, and blocking SIGCHLD.
If string is NULL, system() will return non-zero. 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 termi-
nation status for a program that terminates with a call of exit(127).
SEE ALSO
sh(1), execve(2), waitpid(2), popen(3)
STANDARDS
The system() function conforms to ANSI X3.159-1989 (``ANSI C'') 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.
OpenBSD 3.8 June 29, 1991 1