qlibs:
Section: Misc. Reference Manual Pages (pathexec)
Updated: 3
Index
Return to Main Contents
NAME
pathexec - run a program within a given environment
SYNTAX
#include "pathexec.h"
pathexec_run(const char *p,char **a,char **e);
pathexec(char *const *a);
pathexec_env(const char *s,char *t);
DESCRIPTION
pathexec_run
searches for a program named
p.
It replaces the current process with a copy of that program.
The main function in that program will be given arguments
a
and environment
e.
pathexec_run
looks for
p
as specified by the
$PATH
environment variable.
$PATH
is a colon-separated list of directories
d;
pathexec_run
tries
execve
on files named
d/p,
in the order that the directories appear inside
$PATH.
An empty directory name is treated as a single dot.
If
$PATH
is not set,
pathexec_run
uses the path
/bin:/usr/bin;
i.e., it tries
execve
on
/bin/p,
then
/usr/bin/p.
If
p
contains a slash,
pathexec_run
ignores
$PATH
and simply runs
execve
on a file named
p.
pathexec
calls
pathexec_run
with program name
a[0],
arguments
a,
and the same environment as the current process,
modified as described below.
pathexec
has the same return behavior as
pathexec_run.
pathexec_env
modifies the environment used by
pathexec.
It removes a variable named
s,
if one exists. It then adds a variable named
s
with value
t,
if the pointer
t
is nonzero. The name
s
must not contain
=.
RETURN CODES
Normally
pathexec_run
does not return, because the process has been replaced.
However, if all the
execve
attempts fail,
pathexec_run
returns, setting
errno
to the most interesting error returned by
execve.
Furthermore,
pathexec_run
returns immediately if an
execve
attempt fails with an error other than
error_noent,
error_acces,
error_perm,
or
error_isdir.
This list is subject to change.
Normally
pathexec_env
returns
1.
If it is unable to allocate memory, it returns
0,
leaving the
pathexec
environment alone.
SEE ALSO
error(3)
Index
- NAME
-
- SYNTAX
-
- DESCRIPTION
-
- RETURN CODES
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 14:55:39 GMT, December 15, 2024