Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


SYSTEM(3)                  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
     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 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 10.99                    August 2, 2007                    NetBSD 10.99