SETPROCTITLE(3) |
Library Functions Manual |
SETPROCTITLE(3) |
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:
setproctitle(NULL);
Set the process title to the program name, an informational string, and the process id:
setproctitle("foo! (%d)", getpid());
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);