From 83853a80eb18238796154164f9ea776b0c167ab7 Mon Sep 17 00:00:00 2001
From: Laurent Bercot
Date: Fri, 16 Jan 2015 01:36:48 +0000
Subject: - s6-svlisten and s6-svlisten1 - Synchronous s6-svc - version
2.0.2.0, rc
---
doc/s6-svc.html | 37 +++++++++++++++++++++++++++++--------
1 file changed, 29 insertions(+), 8 deletions(-)
(limited to 'doc/s6-svc.html')
diff --git a/doc/s6-svc.html b/doc/s6-svc.html
index 606cc16..0ca3bd7 100644
--- a/doc/s6-svc.html
+++ b/doc/s6-svc.html
@@ -27,7 +27,7 @@ knowing their PIDs, and without using horrible hacks such as .pid files.
Interface
- s6-svc [ -abqhkti12fFpcoduxO ] servicedir
+ s6-svc [ -D | -U ] [ -t timeout ] [ -abqhkti12pcoduxO ] servicedir
@@ -62,7 +62,17 @@ normally never be used on a working system.
-O : Once at most. Do not restart the supervised process
when it dies. If it is down when the command is received, do not even start
it.
- -f, -F : unused for now.
+ -t timeout : if the -D or
+-U option has been given, -t specifies a timeout
+(in milliseconds) after which s6-svc will exit 1 with an error message if
+the service still hasn't reached the desired state. By default, the
+timeout is 0, which means that s6-svc will block indefinitely.
+ -D : s6-svc will not exit until the service is down.
+ -U : s6-svc will not exit until the service is up and
+ready as notified by the daemon itself.
+Be careful to only use this command on services that send readiness
+notifications and are managed by s6-notifywhenup,
+else the command will never be successful.
Usage examples
@@ -81,9 +91,15 @@ the process represented by the /service/sshd service directory -
typically the sshd server.
- s6-svc -d /service/ftpd
+ s6-svc -Dd /service/ftpd
- Take down the ftpd server.
+ Take down the ftpd server and block until the process is really down.
+
+
+ s6-svc -Uu -t 5000 /service/ftpd
+
+ Bring up the ftpd server and block until it has sent notification that it
+is ready. Exit 1 if it is still not ready after 5 seconds.
s6-svc -a /service/httpd/log
@@ -94,11 +110,16 @@ process is s6-log, this triggers a log rotation.
Internals
-
-s6-svc writes control commands into the servicedir/supervise/control
+
+ - s6-svc writes control commands into the servicedir/supervise/control
FIFO. A s6-supervise process running on servicedir will be listening to this FIFO,
-and will read and interpret those commands.
-
+and will read and interpret those commands.
+ - When invoked with the -D or -U option, s6-svc executes into
+s6-svlisten1, which will listen to service state
+changes and spawn another s6-svc instance (without the -D or -U
+option) that will send the commands to the service. Any error message written during
+the waiting period will mention it is being written by s6-svlisten1; this is normal.
+