FEXECL(3)

πŸ“¦
version 2022.10.16 Β· 2 versions
, in opensuse-leap 16.0

okay bestie, welcome to FEXECL(3) from SchilyΒ΄s LIBRARY FUNCTIONS β€” this is the page where fexecl() explains how it executes a program. πŸ’…βœ¨

πŸ’… NAME

fexecl() β€” executes a program. That's the whole name section, and honestly? iconic. πŸ‘‘

✨ SYNOPSIS ✨

Here's the exact call shape, bestie β€” types and all:

fexecl(name, in, out, err, arg0, arg1, ... argn, NULL)
char *name;
FILE *in, *out, *err;
char *arg0...*argn;

🌸 DESCRIPTION 🌸

okay so fexecl() is a variation of fexecve(). The description of fexecve() applies to fexecl() too, with exactly two exceptions. πŸ¦‹

  • First: fexecl() does not permit the environment list to be specified; it causes the new program to have the same environment as the current program, using the global environment pointer environ. 🌈
  • Second: the argument list for the new program is constructed as part of the call to fexecl(). This is a lot easier to write than the code to construct a vector of strings, but is limited to cases with a fixed number of arguments. The argument list will consist of the strings a0, a1, and so on. By convention, a0 is the name of the new program. πŸ’…

πŸŽ€ RETURNS πŸŽ€

fexecl() returns a system error code. It doesn't return if successful β€” like, if it slays, it's not coming back, bestie. 😭πŸ”₯


Signed off by Joerg Schilling on 2022/09/09 β€” this is FEXECL(3) from SchilyΒ΄s LIBRARY FUNCTIONS, and it ate. πŸ’–πŸ«Ά

πŸ“¦ where this page comes from