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 0.52
Copyright (C) 2008 Peter Miller