Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1)

exec(2)

fork(2)

waitpid(2)

system(3S)

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 invoker 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. 

RETURN VALUES

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. 

ERRORS

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 interrupted by a signal. 

ENOMEM The new process requires more memory than is available. 

SEE ALSO

sh(1), exec(2), fork(2), waitpid(2)

SunOS 5.1/SPARC  —  Last change: 3 Jul 1990

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026