Next: , Previous: , Up: Stdlib   [Contents][Index]


2.48 system—execute command string

Synopsis

#include <stdlib.h>
int system(char *s);

int _system_r(void *reent, char *s);

Description

Use system to pass a command string *s to /bin/sh on your system, and wait for it to finish executing.

Use “system(NULL)” to test whether your system has /bin/sh available.

The alternate function _system_r is a reentrant version. The extra argument reent is a pointer to a reentrancy structure.


Returns
system(NULL) returns a non-zero value if /bin/sh is available, and 0 if it is not.

With a command argument, the result of system is the exit status returned by /bin/sh.


Portability
ANSI C requires system, but leaves the nature and effects of a command processor undefined. ANSI C does, however, specify that system(NULL) return zero or nonzero to report on the existence of a command processor.

POSIX.2 requires system, and requires that it invoke a sh. Where sh is found is left unspecified.

Supporting OS subroutines required: _exit, _execve, _fork_r, _wait_r.