explain_system_or_die(3)

NAME
explain_system_or_die - execute a shell command and report errors

SYNOPSIS
#include <libexplain/system.h>

void explain_system_or_die(const char *command);
void explain_system_success_or_die(const char *command);
int explain_system_success(const char *command);

DESCRIPTION
These functions may be used to execute commands via the system(3) function, and report the results.

  explain_system_or_die
void explain_system_or_die(const char *command);

The explain_system_or_die function is used to call the system(3) system call. On failure an explanation will be printed to stderr, obtained from explain_system(3), and then the process terminates by calling exit(EXIT_FAILURE).

This function is intended to be used in a fashion similar to the following example:
    int status = explain_system_or_die(command);

command
    The command, exactly as to be passed to the system(3) system call.

Returns:
    This function only returns on success, see system(3) for more information. On failure, prints an explanation and exits.

  explain_system_success_or_die
void explain_system_success_or_die(const char *command);

The explain_system_success_or_die function is used to call the system(3) system call. On failure, including any exit status other than EXIT_SUCCESS, an explanation will be printed to stderr, obtained from explain_system(3), and then the process terminates by calling exit(EXIT_FAILURE).

This function is intended to be used in a fashion similar to the following example:
    explain_system_success_or_die(command);

command
    The command, exactly as to be passed to the system(3) system call.

Returns:
    This function only returns on success. On failure, prints an explanation and exits.

  explain_system_success
int explain_system_success(const char *command);

The explain_system_success function is used to call the system(3) system call. On failure, including any exit status other than EXIT_SUCCESS, an explanation will be printed to stderr, obtained from explain_system(3). However, the priniting of an error message does not also cause exit(2) to be called.

This function is intended to be used in a fashion similar to the following example:
    int status = explain_system_success(command);

command
    The command, exactly as to be passed to the system(3) system call.

Returns:
    the value returned by the system(3) system call. In all cases other than EXIT_SUCCESS, an error message will also have been printed to stderr.

SEE ALSO

system(3)
    execute a shell command

explain_system(3)
    explain system(3) errors

exit(2)
    terminate the calling process

COPYRIGHT
libexplain version 1.2
Copyright (C) 2008 Peter Miller