OpenBSD manual page server

Manual Page Search Parameters

SETPROCTITLE(3) Library Functions Manual SETPROCTITLE(3)

setproctitleset process title

#include <stdlib.h>

void
setproctitle(const char *fmt, ...);

The () 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.

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());

ps(1), w(1), getprogname(3), printf(3)

The setproctitle() function first appeared in NetBSD 0.9A.

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);
June 5, 2013 OpenBSD-current