get_executable_name(3) - Linux man page

Name

get_executable_name - Obtains the full path to the current executable. Allegro game programming library.

Synopsis

#include <allegro.h>

void get_executable_name(char *buf, int size);

Description

Fills 'buf' with the full path to the current executable, writing at most 'size' bytes. This generally comes from 'argv[0]' but on Unix systems it tries to get the information from the '/proc' filesystem first, searching the directories specified in '$PATH' if necessary. If this fails too, it tries to find the executable name from the output of the 'ps' command, using 'argv[0]' only as a last resort if all other options fail. Example:
char name[200];
...
get_executable_name(name, sizeof(name));
allegro_message("Running '%s'\n", name);