DOKK / manpages / debian 12 / libexplain-dev / explain_system_or_die.3.en
explain_system_or_die(3) Library Functions Manual explain_system_or_die(3)

explain_system_or_die - execute a shell command and report errors

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

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

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);
The command, exactly as to be passed to the system(3) system call.
This function only returns on success, see system(3) for more information. On failure, prints an explanation and exits.

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);
The command, exactly as to be passed to the system(3) system call.
This function only returns on success. On failure, prints an explanation and exits.

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);
The command, exactly as to be passed to the system(3) system call.
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.

system(3)
execute a shell command
explain_system(3)
explain system(3) errors
exit(2)
terminate the calling process

libexplain version 1.4
Copyright (C) 2008 Peter Miller