system - pass a command to the shell
#include <stdlib.h>
int
system(const char *string);
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).
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).
sh(1), execve(2), waitpid(2), popen(3)
The system() function conforms to ANSI X3.159-1989 (``ANSI
C'') and IEEE
Std 1003.2-1992 (``POSIX.2'').
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.6 June 29, 1991
[ Back ] |