FreeBSD Manual Pages
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 inter- preter sh(1). The calling process waits for the shell to finish exe- cuting 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 sh(1) is available, and zero if it is not. RETURN VALUES The system() function returns the exit status of the shell as returned by waitpid(2), or -1 if an error occurred when invoking fork(2) or waitpid(2). If the child process fails to execute the shell, it will terminate with an exit code of 127 and system will return the corre- sponding exit status. SEE ALSO sh(1), execve(2), fork(2), waitpid(2), popen(3), posix_spawn(3) STANDARDS The system() function conforms to ISO/IEC 9899:1990 ("ISO C90") and is expected to be IEEE Std 1003.2 ("POSIX.2") compatible. SECURITY CONSIDERATIONS The system() function is easily misused in a manner that enables a ma- licious user to run arbitrary command, because all meta-characters sup- ported by sh(1) would be honored. User supplied parameters should al- ways be carefully sanitized before they appear in string. FreeBSD ports 15.quarterly February 24, 2026 SYSTEM(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | STANDARDS | SECURITY CONSIDERATIONS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=system&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>
