Section: C Library Functions (3)Index
Return to Main Contents
- set process title
Fn setproctitle_init int argc char *argv char *envp
Fn setproctitle const char *fmt ...
library routine sets the process title that appears on the
library routine only needs to be called (before any call to
arguments), if the automatic constructor support has not
been linked in through the libbsd-ctor pkg-config file.
The title is set from the executable's name, followed by the
result of a
style expansion of the arguments as specified by the
argument begins with a
character, the executable's name is skipped.
is NULL, the process title is restored.
To set the title on a daemon to indicate its activity:
setproctitle("talking to %s", inet_ntoa(addr));
is implicitly non-standard.
Other methods of causing the
command line to change, including copying over the argv string are
also implicitly non-portable.
It is preferable to use an operating system
Unfortunately, it is possible that there are other calling conventions
to other versions of
Fn setproctitle ,
although none have been found by the author as yet.
This is believed to be
the predominant convention.
It is thought that the implementation is compatible with other systems,
Bs x .
first appeared in
Fx 2.2 .
Other operating systems have
function is a libbsd extension not present on the BSDs, avoid using it
in portable code.
An Peter Wemm Aq peter@FreeBSD.org
stole the idea from the
source code by
An Eric Allman Aq firstname.lastname@example.org
Never pass a string with user-supplied data as a format without using
An attacker can put format specifiers in the string to mangle your stack,
leading to a possible security hole.
This holds true even if the string was built using a function like
Fn snprintf ,
as the resulting string may still contain user-supplied conversion specifiers
for later interpolation by
Fn setproctitle .
Always use the proper secure idiom:
- SEE ALSO