Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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).  A return value of 127 means	the  execution	of  the	 shell
       failed.

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 santized before they appear in	string.

FreeBSD	13.2			 July 25, 2015			     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+14.0-RELEASE+and+Ports>

home | help