nightmorph    06/09/07 08:23:02

  Modified:             handbook-x86.xml hb-working-rcscripts.xml
  Log:
  updated stop-start-daemon documentation for bug 122786

Revision  Changes    Path
1.153                xml/htdocs/doc/en/handbook/handbook-x86.xml

file : 
http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/handbook/handbook-x86.xml?rev=1.153&view=markup
plain: 
http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/handbook/handbook-x86.xml?rev=1.153&content-type=text/plain
diff : 
http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/handbook/handbook-x86.xml?r1=1.152&r2=1.153

Index: handbook-x86.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/handbook-x86.xml,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -r1.152 -r1.153
--- handbook-x86.xml    30 Aug 2006 22:52:28 -0000      1.152
+++ handbook-x86.xml    7 Sep 2006 08:23:02 -0000       1.153
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE book SYSTEM "/dtd/book.dtd">
 
-<!-- $Header: 
/var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/handbook-x86.xml,v 1.152 
2006/08/30 22:52:28 nightmorph Exp $ -->
+<!-- $Header: 
/var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/handbook-x86.xml,v 1.153 
2006/09/07 08:23:02 nightmorph Exp $ -->
 
 <book link="/doc/en/handbook/handbook-x86.xml">
 <title>Gentoo Linux x86 Handbook</title>
@@ -111,6 +111,9 @@
 <author title="Editor">
   <mail link="[EMAIL PROTECTED]">Xavier Neys</mail>
 </author>
+<author title="Editor">
+  <mail link="[EMAIL PROTECTED]">Joshua Saddler</mail>
+</author>
 <author title="Reviewer">
     <mail link="[EMAIL PROTECTED]">Grant Goodyear</mail>
 </author>
@@ -137,8 +140,8 @@
 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
 <license/>
 
-<version>7.0</version>
-<date>2006-08-30</date>
+<version>7.1</version>
+<date>2006-09-07</date>
 
 <part>
 <title>Installing Gentoo</title>



1.26                 xml/htdocs/doc/en/handbook/hb-working-rcscripts.xml

file : 
http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/handbook/hb-working-rcscripts.xml?rev=1.26&view=markup
plain: 
http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/handbook/hb-working-rcscripts.xml?rev=1.26&content-type=text/plain
diff : 
http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/handbook/hb-working-rcscripts.xml?r1=1.25&r2=1.26

Index: hb-working-rcscripts.xml
===================================================================
RCS file: 
/var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-rcscripts.xml,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- hb-working-rcscripts.xml    14 Mar 2006 19:29:29 -0000      1.25
+++ hb-working-rcscripts.xml    7 Sep 2006 08:23:02 -0000       1.26
@@ -4,12 +4,12 @@
 <!-- The content of this document is licensed under the CC-BY-SA license -->
 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
 
-<!-- $Header: 
/var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-rcscripts.xml,v 1.25 
2006/03/14 19:29:29 neysx Exp $ -->
+<!-- $Header: 
/var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-rcscripts.xml,v 1.26 
2006/09/07 08:23:02 nightmorph Exp $ -->
 
 <sections>
 
-<version>1.21</version>
-<date>2005-05-29</date>
+<version>1.22</version>
+<date>2006-09-07</date>
 
 <section>
 <title>Runlevels</title>
@@ -535,6 +535,19 @@
 }
 </pre>
 
+<p>
+If your service must write to local disks, it should need <c>localmount</c>. If
+it places anything in <path>/var/run</path> such as a pidfile, then should
+start after <c>bootmisc</c>:
+</p>
+
+<pre caption="Example depend() function">
+depend() {
+  need localmount
+  after bootmisc
+}
+</pre>
+
 </body>
 </subsection>
 <subsection>
@@ -551,21 +564,33 @@
 <pre caption="Example start() function">
 start() {
   ebegin "Starting my_service"
-  start-stop-daemon --start --quiet --exec /path/to/my_service
+  start-stop-daemon --start --exec /path/to/my_service \
+    --pidfile /path/to/my_pidfile
   eend $?
 }
 </pre>
 
 <p>
-If you need more examples of the <c>start()</c> function, please read the 
source
-code of the available init scripts in your <path>/etc/init.d</path> directory.
-As for <c>start-stop-daemon</c>, there is an excellent man page available if 
you
-need more information:
+Both <c>--exec</c> and <c>--pidfile</c> should be used in start and stop
+functions. If the service does not create a pidfile, then use
+<c>--make-pidfile</c> if possible, though you should test this to be sure.
+Otherwise, don't use pidfiles. You can also add <c>--quiet</c> to the
+<c>start-stop-daemon</c> options, but this is not recommended unless the
+service is extremely verbose.  Using <c>--quiet</c> may hinder debugging if the
+service fails to start.
 </p>
 
-<pre caption="Getting the man page for start-stop-daemon">
-# <i>man start-stop-daemon</i>
-</pre>
+<note>
+Make sure that <c>--exec</c> actually calls a service and not just a shell
+script that launches services and exits -- that's what the init script is
+supposed to do.
+</note>
+
+<p>
+If you need more examples of the <c>start()</c> function, please read the
+source code of the available init scripts in your <path>/etc/init.d</path>
+directory.
+</p>
 
 <p>
 Other functions you can define are: <c>stop()</c> and <c>restart()</c>. You are
@@ -574,6 +599,46 @@
 </p>
 
 <p>
+Although you do not <e>have</e> to create a <c>stop()</c> function, here is an
+example:
+</p>
+
+<pre caption="Example stop() function">
+stop() {
+  ebegin "Stopping my_service"
+  start-stop-daemon --stop --exec /path/to/my_service \
+    --pidfile /path/to/my_pidfile
+  eend $?
+}
+</pre>
+
+<p>
+If your service runs some other script (for example, bash, python, or perl),
+and this script later changes names (for example, <c>foo.py</c> to <c>foo</c>),
+then you will need to add <c>--name</c> to <c>start-stop-daemon</c>. You must
+specify the name that your script will be changed to. In this example, a
+service starts <c>foo.py</c>, which changes names to <c>foo</c>:
+</p>
+
+<pre caption="A service that starts the foo script">
+start() {
+  ebegin "Starting my_script"
+  start-stop-daemon --start --exec /path/to/my_script \
+    --pidfile /path/to/my_pidfile --name foo
+  eend $?
+}
+</pre>
+
+<p>
+<c>start-stop-daemon</c> has an excellent man page available if you need more
+information:
+</p>
+
+<pre caption="Getting the man page for start-stop-daemon">
+$ <i>man start-stop-daemon</i>
+</pre>
+
+<p>
 Gentoo's init script syntax is based on the Bourne Again Shell (bash) so you 
are
 free to use bash-compatible constructs inside your init script.
 </p>



-- 
[email protected] mailing list

Reply via email to