<?xml version="1.0" encoding="UTF-8"?>
<!-- **************************************************************************
.... For copyright and licensing terms, see the file named COPYING.
.... **************************************************************************
.-->
<?xml-stylesheet href="docbook-xml.css" type="text/css"?>

<refentry id="service-is-ok">

<refmeta xmlns:xi="http://www.w3.org/2001/XInclude">
<refentrytitle>service-is-ok</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class="manual">user commands</refmiscinfo>
<refmiscinfo class="source">nosh</refmiscinfo>
<xi:include href="version.xml" />
</refmeta>

<refnamediv>
<refname>service-is-ok</refname>
<refname>svok</refname>
<refpurpose>daemontools compatibility service checker</refpurpose>
</refnamediv>

<refsynopsisdiv>
<cmdsynopsis>
<command>service-is-ok</command>
<arg choice='req'><replaceable>directory</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
<command>svok</command>
<arg choice='req'><replaceable>directory</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>

<refsection><title>Description</title>

<para>
<command>service-is-ok</command> checks to see whether <citerefentry><refentrytitle>service-manager</refentrytitle><manvolnum>1</manvolnum></citerefentry> (or runit's <citerefentry><refentrytitle>runsv</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
s6's <citerefentry><refentrytitle>s6-supervise</refentrytitle><manvolnum>1</manvolnum></citerefentry>, daemontools' <citerefentry><refentrytitle>supervise</refentrytitle><manvolnum>1</manvolnum></citerefentry>, or daemontools-encore's
<citerefentry><refentrytitle>supervise</refentrytitle><manvolnum>1</manvolnum></citerefentry>) is currently managing a service.
<replaceable>directory</replaceable> is either a supervise directory or a daemontools-style service
directory with a supervise directory named <filename>supervise</filename> within it.
</para>

<para>
A service is considered managed if its supervise directory contains an <filename>ok</filename>
FIFO that can be opened for write in non-blocking mode (i.e. client mode).
</para>

<para>
The result is signalled by the exit code, which is 0 upon success, 111
if the directory does not exist or some other error occurred, and 100
if the <filename>ok</filename> FIFO cannot be opened in client mode.
</para>

<para>
For more on service and supervise directories, see <citerefentry><refentrytitle>service-manager</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
</para>

</refsection><refsection><title>Compatibility</title>

<para>
For daemontools and daemontools-encore compatibility, this command is also
available as <command>svok</command>.
</para>

</refsection><refsection><title>Author</title>
<para><author><personname><firstname>Jonathan</firstname> <surname>de Boyne Pollard</surname></personname></author></para>
</refsection>

</refentry>
