Skip to end of metadata
Go to start of metadata

Contents

Introduction

Spawn a server using configuration settings provided in a file and/or as arguments.

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

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

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.

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

Examples

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

Notes:

  • 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=

Notes:

  • 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

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