The easy way to run another program is to use the system
function. This function does all the work of running a subprogram, but it doesn't give you much control over the details: you have to wait until the subprogram terminates before you can do anything else.
sh
to run the command. In particular, it searches the directories in PATH
to find programs to execute. The return value is -1
if it wasn't possible to create the shell process, and otherwise is the status of the shell process. See Process Completion, for details on how this status code can be interpreted.
The system
function is declared in the header file `stdlib.h'.
Portability Note: Some C implementations may not have any notion of a command processor that can execute other programs. You can determine whether a command processor exists by executing system (NULL)
; if the return value is nonzero, a command processor is available.
The popen
and pclose
functions (see Pipe to a Subprocess) are closely related to the system
function. They allow the parent process to communicate with the standard input and output channels of the command being executed.