system(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
SYSTEM(3)               NetBSD Library Functions Manual              SYSTEM(3)

system -- pass a command to the shell
Standard C Library (libc, -lc)
#include <stdlib.h> int system(const char *string);
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).
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).
sh(1), execve(2), waitpid(2), popen(3), shquote(3)
The system() function conforms to ANSI X3.159-1989 (``ANSI C89'') 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. NetBSD 9.99 August 2, 2007 NetBSD 9.99
Powered by man-cgi (2021-03-02). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.