NAME
setproctitle
—
set process title
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, a single space, 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:
setproctitle(NULL);
Set the process title to the program name, an informational string, and the process ID:
setproctitle("foo! (%d)", getpid());
SEE ALSO
HISTORY
The setproctitle
() function first appeared
in NetBSD 0.9A.
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 the stack,
leading to a possible security hole. This holds true even if the string has
been built “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);