tail head cat sleep
QR code linking to this page

Manual Pages  — SYSTEM

NAME

system – pass a command to the shell

CONTENTS

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 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 a NULL pointer, system() will return non-zero if the command 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 malicious user to run arbitrary command, because all meta-characters supported by sh(1) would be honored. User supplied parameters should always be carefully santized before they appear in string.

SYSTEM (3) July 25, 2015

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

"I liken starting one's computing career with Unix, say as an undergraduate, to being born in East Africa. It is intolerably hot, your body is covered with lice and flies, you are malnourished and you suffer from numerous curable diseases. But, as far as young East Africans can tell, this is simply the natural condition and they live within it. By the time they find out differently, it is too late. They already think that the writing of shell scripts is a natural act."
— Ken Pier, Xerox PARC