SYSTEM(3)               NetBSD Library Functions Manual              SYSTEM(3)

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 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 a NULL pointer, system() will return non-zero, if the com-
     mand interpreter is available, or zero if none is available.  Otherwise,
     system() returns the termination status of the shell in the format speci-
     fied 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), 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.

NetBSD 5.0_STABLE               August 2, 2007               NetBSD 5.0_STABLE
