SYSTEM(3) OpenBSD Programmer's Manual SYSTEM(3)NAMEsystem - 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
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 NULL, system() will return non-zero. Otherwise, system()
returns the termination status of the shell in the format specified by
waitpid(2).
Note that fork handlers established using pthread_atfork(3) are not
called when a multithreaded program calls system().
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 ALSOsh(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.9 April 4, 2008 OpenBSD 4.9