pass a command to the shell

You're viewing an older version of this page (#3488). View the current version.

View versions (3)

INTERFACE

#include <stdlib.h> int system ( const char *string )

DESCRIPTION

The system function hands the argument string to the command interpreter. The calling process waits for the shell to finish executing the command, ignoring <span class="Dv">SIGINT</span> and <span class="Dv">SIGQUIT</span>, and blocking <span class="Dv">SIGCHLD</span>.

If string is a <span class="Dv">NULL</span> pointer, system will return non-zero if the command interpreter is available, and zero if it is not.

The system function returns the exit status of the shell as returned by waitpid, or -1 if an error occurred when invoking fork or waitpid. A return value of 127 means the execution of the shell failed.

The following code displays the contents of the current directory using the DIR command.

Example 1

#include <stdlib.h>

int main ()
{
  system("dir");
  return 0;
}

STANDARDS

The system function conforms to ISO/IEC 9899:1990 ("ISO C90") and is expected to be IEEE Std 1003.2 ("POSIX.2") compatible.