NAME
setproctitle —
set process title
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdlib.h>
void
setproctitle(
const
char *fmt,
...);
DESCRIPTION
The
setproctitle() function sets the invoking process's title.
The process title is set to the last component of the program name, followed
by a colon and the formatted string specified by
fmt. If
fmt is
NULL
, the colon and
formatted string are omitted. The length of a process title is limited to 2048
bytes.
EXAMPLES
Set the process title to the program name, with no further information:
Set the process title to the program name, an informational string, and the
process id:
setproctitle("foo! (%d)", getpid());
SEE ALSO
ps(1),
w(1),
getprogname(3),
printf(3)
HISTORY
The
setproctitle() function first appeared in
NetBSD 1.0.
CAVEATS
It is important never to pass a string with user-supplied data as a format
without using ‘
%s
’. An attacker can put
format specifiers in the string to mangle your stack, leading to a possible
security hole. This holds true even if you have built the string “by
hand” using a function like
snprintf(), as the
resulting string may still contain user-supplied conversion specifiers for
later interpolation by
setproctitle().
Always be sure to use the proper secure idiom:
setproctitle("%s", string);