April 13, 1994 SETPROCTITLE 3

### NAME

setproctitle - set process title

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

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

  `

### SEE ALSO

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

### HISTORY

The setproctitle(``) function first appeared in NetBSD1.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);

  `