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 4.1                      June 29, 1991                               1
