Skip to end of metadata
Go to start of metadata



ruspawn is used to spawn a server using configuration settings provided in a file, as arguments, or over a file descriptor.

When a server is spawned, a reaper process is also started which is responsible for removing the associated socket file. A normal kill signal sent to either the server or reaper process will result in a cleanup.


usage: ruspawn (-c <name>=<value>|-f <path>|--fd <fd>) [...] [-- ...]

Spawn a russ server. Using the configuration, a socket file is
created and the listener socket is passed to the server. The path
the socket file is output to stdout.

ruspawn is different from rustart in the following ways. If
main:addr (the socket file path) is not specified, a path is
dynamically chosen and used to set main:addr. A reaper process is
started to automatically cleanup the socket file when the server
exits. If the server or the repear are signaled, they both will be
terminated and the socket file cleaned up.

ruspawn is the preferred way to start a server.

-c <name>=<value>
        Set configuration attribute.
-f <path>
        Load configuration file.
--fd <fd>
        Load configuration from file descriptor.
-- ...	Arguments to pass to the server program.


ruspawn is almost never invoked by hand. Instead the rubb tool is used to set up configurations and start servers.

To spawn a personal instance of the debug server (assuming /etc/russ/conf/debug.conf):

ruspawn -f /etc/russ/conf/debug.conf -c main:addr=/tmp/mydebug


  • debug.conf is used as the starting point
  • main:addr is overridden with /tmp/mydebug

Use ruspawn to automatically select a path for the socket file:

ruspawn -f /etc/russ/conf/debug.conf -c main:addr=


  • main:addr is set to empty to clear the setting
  • an empty main:addr or non-existent main:addr setting tells ruspawn to automatically select a socket file path based on the name of the configuration file

Connect to the daytime service:

ruexec /tmp/.russ-30262-Sw5KCO/daytime

Show the processes created:

jdm      30263  1542  0 09:22 pts/43   00:00:00 rureap 30264 /tmp/.russ-30262-Sw5KCO
jdm      30264 30263  0 09:22 pts/43   00:00:00 ruspawn -f /etc/russ/conf/debug.conf -c main addr  -c main addr /tmp/.russ-30262-Sw5KCO

Stop the server:

kill 30263