explain_system_or_die(3)

explain_system_or_die3

Execute a shell command and report errors

Usage

#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);

Overview

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.

Releases

6 releases since Debian 7 (Wheezy); the text changed 1 time.

  1. 7
  2. 9–13

From libexplain-dev 1.4.D001-16 in Debian 13 (Trixie). Parsed by carta from the page's man source.