Manual pages › Standard input and output (3S)
system(3S)
issue a shell command
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
Also by this name: system(4), File formats and configuration files
NAME
system - issue a shell command
SYNOPSIS
#include <stdlib.h> int system (const char *string);
DESCRIPTION
system causes the string to be given to the shell [see sh(1)] as input, as if the string had been typed as a command at a terminal. The current process waits until the shell has completed, then returns the exit status of the shell in the format specified by waitpid.
If string is a NULL pointer, system checks if /sbin/sh exists and is executable. If /sbin/sh is available, system returns non-zero; otherwise it returns zero.
system fails if one or more of the following are true:
EAGAIN The system-imposed limit on the total number of processes under execution by a single user would be exceeded.
EINTR system was interupted by a signal.
ENOMEM The new process requires more memory than is allowed by the system-imposed maximum MAXMEM.
SEE ALSO
exec(2), waitpid(3C). sh(1) in the User's Reference Manual.
DIAGNOSTICS
system forks to create a child process that in turn execs /sbin/sh in order to execute string. If the fork or exec fails, system returns a value of -1 and sets errno.