From aa3f93beafc17945adefc6148ff2eeb30b388d2c Mon Sep 17 00:00:00 2001
From: bnewbold How many child processes to spawn. Socket(s) to bind to. OPT specifies flags to be set on the socket. Options
are Only accept IPv4 connections Only accept IPv6 connections Print a help menu Print program version More verbose logging and output Enables logging via syslog(2) (for WARN and above). Enable manual (explicit) acknowledge mode, in which each child program must
connect to the master's control socket and "ACK" within a graceperiod, or it
-will be considered unhealthy and get restarted.DESCRIPTION
-Einhyrningsins is a socket multiplexer featuring graceful restarts. It runs
+einhyrningsins is a socket multiplexer featuring graceful restarts. It runs
multiple copies of a child program, each of which are passed a shared socket
(or multiple shared sockets) to bind(2) to and accept(2) connections from.
Graceful, rolling restarts enable updates of the child program with zero
@@ -98,43 +99,33 @@ to bind to inherited file descriptors (as indicated by environment variables).
Child programs must also be able to run in parallel: for example, each copy
must not try to write to the same output file without some form of locking.
-
+will be considered unhealthy and get restarted.-n, --number COUNT:
-How many child processes to spawn.-b, --bind ADDR:PORT[,OPT...]:
-Socket(s) to bind to. OPT specifies flags to be set on the socket. Options
+OPTIONS
+
+
+
-n, --number COUNT-b, --bind ADDR:PORT[,OPT...]n for non-blocking (O_NONBLOCK) and r for re-using addresses
(SO_REUSEADDR). Eg, for both options, could pass -b 127.0.0.1:1234,r,n.
-This argument can be repeated.-4, --ipv4-only:
-Only accept IPv4 connections-6, --ipv6-only:
-Only accept IPv6 connections-h, --help:
-Print a help menu--version:
-Print program version-v, --verbose:
-More verbose logging and output--syslog:
-Enables logging via syslog(2) (for WARN and above).-m, --manual:
-Enable manual (explicit) acknowledge mode, in which each child program must
+This argument can be repeated.-4, --ipv4-only-6, --ipv6-only-h, --help--version-v, --verbose--syslog-m, --manual--drop-env-var VAR:
-Clears the given variable from the child's environment. All other variables
-are passed through by default. This argument can be repeated.-d, --socket-path PATH:
-Where to create the control socket (default: /tmp/einhorn.sock).-r, --retries COUNT
-How many times to attempt re-spawning before giving up.
--drop-env-var VARClears the given variable from the child's environment. All other variables +are passed through by default. This argument can be repeated.
-d, --socket-path PATHWhere to create the control socket (default: /tmp/einhorn.sock).
-r, --retries COUNTHow many times to attempt re-spawning before giving up.
Einhyrningsins creates children by fork(1)-ing a new process and
+
einhyrningsins creates children by fork(1)-ing a new process and
execve(1)-ing to run the proces itself. For every socket specified by a -b
flag, a socket is bound in the main einhyrningsins process and then
explicitly flagged to be passed on to the child processes. This means the child
@@ -157,26 +148,27 @@ containing the child's PID number:
Einhyrningsins is a partially-comparible re-implementation of einhorn(1) (a
+
einhyrningsins is a partially-comparible re-implementation of einhorn(1) (a
Ruby program) in Rust. Einhorn itself derived from Unicorn.
The word "Einhyrningsins" is Icelandic for unicorn.
+The word "einhyrningsins" is Icelandic for unicorn.
Einhyrningsins is a for-fun hobby project. It is not feature complete, fully
+
einhyrningsins is a for-fun hobby project. It is not feature complete, fully
documented, or tested.
Copyright 2016 Bryan Newbold -License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. +
Copyright 2016 Bryan Newbold
+ +License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
einhorn(1), einhyrningsinsctl(1), socket(7)
+einhorn(1), einhyrningsinsctl(1), socket(7)
Einhyrningsinsctl is a shell client for einhyrningsins(1), which connects to
+
einhyrningsinsctl is a shell client for einhyrningsins(1), which connects to
a control socket (UNIX domain socket) and either sends a single command (via
-e) or acts as an interactive shell.
For a list of valid commands, start in shell mode and run help.
-e, --execute CMDInstead of starting a shell, just execute the CMD.
-d, --socket-path PATHWhere to look for the control socket (a UNIX domain socket).
@@ -100,14 +103,17 @@ Defaults to /tmp/einhorn.sock.
Copyright 2016 Bryan Newbold -License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. +
# +Copyright 2016 Bryan Newbold
+ +License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
# +einhorn(1), einhyrningsins(1)