---
name: "readproctitle"
section: "8"
platform: "linux"
package: "daemontools"
version: "1:0.76-14"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/readproctitle"
---

# readproctitle(8)

maintains an automatically rotated log in memory for inspection by ps(1). readproctitle is available in daemontools 0.75 and above.

## NAME

readproctitle - maintains an automatically rotated log in memory for inspection by [**ps**(1)](/ps/1.md).

readproctitle is available in daemontools 0.75 and above.

## SYNOPSIS

**readproctitle** *L* *D*

## DESCRIPTION

*L* consists of any number of arguments. *D* is one argument consisting of at least five dots.

**readproctitle** reads data into the end of *D*, shifting *D* to the left to make room. This means that the most recent data is visible to process-listing tools such as [**ps**(1)](/ps/1.md). **readproctitle** always leaves three dots at the left of *D*.

For example, if

 readproctitle io errors: ....................

reads the data

 fatal error xyz\
  warning abc

then its command-line arguments change to

 readproctitle io errors: ... xyz!warning abc!

with a newline character in place of each !. Process-listing tools typically show the newline character as ? or \\n.

**readproctitle** exits when it reaches the end of input.

Beware that most implementations of [**ps**(1)](/ps/1.md) have small argument-length limits. These limits apply to the total length of **readproctitle** *L* *D*. I have not seen a system with a limit below 512 bytes.

## SEE ALSO

[supervise(8)](/supervise/8.md), [svc(8)](/svc/8.md), [svok(8)](/svok/8.md), [svstat(8)](/svstat/8.md), [svscanboot(8)](/svscanboot/8.md), [svscan(8)](/svscan/8.md), [fghack(8)](/fghack/8.md),   [pgrphack(8)](/pgrphack/8.md), [multilog(8)](/multilog/8.md), [tai64n(8)](/tai64n/8.md), [tai64nlocal(8)](/tai64nlocal/8.md), [setuidgid(8)](/setuidgid/8.md), [envuidgid(8)](/envuidgid/8.md), [envdir(8)](/envdir/8.md), [softlimit(8)](/softlimit/8.md), [setlock(8)](/setlock/8.md), [ps(1)](/ps/1.md)

 http://cr.yp.to/daemontools.html\
  http://cr.yp.to/slashcommand.html
