<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>Bienvenue sur le site admin-sys</title>
	<link>http://www.admin-sys.org/</link>
	<description>Bienvenu sur le site admin-sys.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net (Sarka-SPIP)</generator>

	<image>
		<title>Bienvenue sur le site admin-sys</title>
		<url>https://www.admin-sys.org/local/cache-vignettes/L144xH55/siteon0-02f93.png?1694605449</url>
		<link>http://www.admin-sys.org/</link>
		<height>55</height>
		<width>144</width>
	</image>



 
	<item xml:lang="fr">
		<title>Nouvel article</title>
		<link>https://www.admin-sys.org/?nouvel-article</link>
		<guid isPermaLink="true">https://www.admin-sys.org/?nouvel-article</guid>
		<dc:date>2009-06-29T14:21:15Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jerome ROBERT</dc:creator>



		<description>
&lt;p&gt;Fichier /etc/init.d/function &lt;br class='autobr' /&gt;
Linux : RedHat &lt;br class='autobr' /&gt; # !/bin/sh # # functions	This file contains functions to be used by most or all # shell scripts in the /etc/init.d directory. # # Version :	@(#) /etc/init.d/functions 1.01 26-Oct-1993 # # Author :	Miquel van Smoorenburg, &lt;miquels@drinkel.nl.mugnet.org&gt; &lt;br class='autobr' /&gt;
# Hacked by : Greg Galloway and Marc Ewing # &lt;br class='autobr' /&gt;
# First set up a default search path. export PATH=&#034;/sbin :/usr/sbin :/bin :/usr/bin :/usr/X11R6/bin&#034; &lt;br class='autobr' /&gt;
# Get a sane screen (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.admin-sys.org/?-script-de-demarrage-" rel="directory"&gt;Script de d&#233;marrage&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h1 align=&#034;center&#034;&gt;Fichier /etc/init.d/function&lt;/h1&gt; &lt;h2 align=&#034;right&#034;&gt;Linux: RedHat&lt;/h2&gt; &lt;pre&gt; #!/bin/sh # # functions	This file contains functions to be used by most or all # shell scripts in the /etc/init.d directory. # # Version:	@(#) /etc/init.d/functions 1.01 26-Oct-1993 # # Author:	Miquel van Smoorenburg, &lt;miquels@drinkel.nl.mugnet.org&gt; # Hacked by: Greg Galloway and Marc Ewing #&lt;/pre&gt; &lt;pre&gt;# First set up a default search path. export PATH=&#034;/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin&#034;&lt;/pre&gt; &lt;pre&gt;# Get a sane screen width [ -z &#034;$COLUMNS&#034; ] &amp;&amp; COLUMNS=80&lt;/pre&gt; &lt;pre&gt;# Read in our configuration if [ -z &#034;$BOOTUP&#034; ]; then if [ -f /etc/sysconfig/init ]; then . &lt;a href='https://www.admin-sys.org/linux/index.php?rub=redhat&amp;file=redhat/init/sysconf-init.htm'&gt;/etc/sysconfig/init&lt;/a&gt; else # This all seem confusing? Look in /etc/sysconfig/init, # or in /usr/doc/initscripts-*/sysconfig.txt BOOTUP=color RES_COL=60 MOVE_TO_COL=&#034;echo -en \\033[300C\\033[$[${COLUMNS}-${RES_COL}]D&#034; SETCOLOR_SUCCESS=&#034;echo -en \\033[1;32m&#034; SETCOLOR_FAILURE=&#034;echo -en \\033[1;31m&#034; SETCOLOR_WARNING=&#034;echo -en \\033[1;33m&#034; SETCOLOR_NORMAL=&#034;echo -en \\033[0;39m&#034; LOGLEVEL=1 fi fi&lt;/pre&gt; &lt;pre&gt;if [ &#034;$BOOTUP&#034; != &#034;verbose&#034; ]; then INITLOG_ARGS=&#034;-q&#034; else INITLOG_ARGS= fi&lt;/pre&gt; &lt;pre&gt;# A function to start a program. &lt;a name=&#034;daemon&#034;&gt;daemon&lt;/a&gt;() { # Test syntax. gotbase= case $1 in '') echo '$0: Usage: daemon [+/-nicelevel] {program}' return 1;; --check) shift base=$1 gotbase=&#034;yes&#034; shift nicelevel=0 ;; &lt;/pre&gt; &lt;pre&gt; -*|+*) nicelevel=$1 shift;; *) nicelevel=0;; esac&lt;/pre&gt; &lt;pre&gt; # Save basename. [ -z $gotbase ] &amp;&amp; base=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;basename $1&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt; # See if it's already running. pid= &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;a href=&#034;#pidofproc&#034;&gt;pidofproc&lt;/a&gt; $base&lt;/code&gt; [ -n &#034;$pid&#034; ] &amp;&amp; ps h $pid &gt;/dev/null 2&gt;&amp;1 &amp;&amp; return&lt;/pre&gt; &lt;pre&gt;	# make sure it doesn't core dump anywhere; while this could mask # problems with the daemon, it also closes some security problems ulimit -c 0 &lt;/pre&gt; &lt;pre&gt;	# Echo daemon [ &#034;$BOOTUP&#034; = &#034;verbose&#034; ] &amp;&amp; echo -n &#034; $base&#034;&lt;/pre&gt; &lt;pre&gt;	# And start it up. nice -n $nicelevel initlog $INITLOG_ARGS -c &#034;$*&#034; &amp;&amp; &lt;a href=&#034;#success&#034;&gt;success&lt;/a&gt; &#034;$base startup&#034; || &lt;a href=&#034;#failure&#034;&gt;failure&lt;/a&gt; &#034;$base startup&#034; }&lt;/pre&gt; &lt;pre&gt;# A function to stop a program. &lt;a name=&#034;killproc&#034;&gt;killproc&lt;/a&gt;() { # Test syntax. if [ $# = 0 ]; then echo &#034;Usage: killproc {program} [signal]&#034; return 1 fi&lt;/pre&gt; &lt;pre&gt;	notset=0 # check for second arg to be kill level if [ &#034;$2&#034; != &#034;&#034; ] ; then killlevel=$2 else notset=1 killlevel=&#034;-9&#034; fi&lt;/pre&gt; &lt;pre&gt; # Save basename. base=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;basename $1&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt; # Find pid. pid=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;a href=&#034;#pidofproc&#034;&gt;pidofproc&lt;/a&gt; $base&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt; # Kill it. if [ &#034;$pid&#034; != &#034;&#034; ] ; then [ $BOOTUP = &#034;verbose&#034; ] &amp;&amp; echo -n &#034;$base &#034; if [ &#034;$notset&#034; = &#034;1&#034; ] ; then if ps h $pid&gt;/dev/null 2&gt;&amp;1; then # TERM first, then KILL if not dead kill -TERM $pid usleep 100000 if ps h $pid &gt;/dev/null 2&gt;&amp;1 ; then sleep 1 if ps h $pid &gt;/dev/null 2&gt;&amp;1 ; then sleep 3 if ps h $pid &gt;/dev/null 2&gt;&amp;1 ; then kill -KILL $pid fi fi fi fi ps h $pid &gt;/dev/null 2&gt;&amp;1 &amp;&amp; failure &#034;$base shutdown&#034; || success &#034;$base shutdown&#034; # use specified level only else if ps h $pid &gt;/dev/null 2&gt;&amp;1; then kill $killlevel $pid &amp;&amp; &lt;a href=&#034;#success&#034;&gt;success&lt;/a&gt; &#034;$base $killlevel&#034; || &lt;a href=&#034;#failure&#034;&gt;failure&lt;/a&gt; &#034;$base $killlevel&#034; fi fi else failure &#034;$base shutdown&#034; fi&lt;/pre&gt; &lt;pre&gt; # Remove pid file if any. if [ &#034;$notset&#034; = &#034;1&#034; ]; then rm -f /var/run/$base.pid fi }&lt;/pre&gt; &lt;pre&gt;# A function to find the pid of a program. &lt;a name=&#034;pidofproc&#034;&gt;pidofproc&lt;/a&gt;() { # Test syntax. if [ $# = 0 ] ; then echo &#034;Usage: pidofproc {program}&#034; return 1 fi&lt;/pre&gt; &lt;pre&gt;	# First try &#034;/var/run/*.pid&#034; files if [ -f /var/run/$1.pid ] ; then pid=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;head -1 /var/run/$1.pid&lt;/code&gt; if [ &#034;$pid&#034; != &#034;&#034; ] ; then echo $pid return 0 fi fi&lt;/pre&gt; &lt;pre&gt;	# Next try &#034;pidof&#034; pid=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pidof $1&lt;/code&gt; if [ &#034;$pid&#034; != &#034;&#034; ] ; then echo $pid return 0 fi&lt;/pre&gt; &lt;pre&gt;	# Finally try to extract it from ps ps ax | awk 'BEGIN { prog=ARGV[1]; ARGC=1 } { if ((prog == $5) || ((&#034;(&#034; prog &#034;)&#034;) == $5) || ((&#034;[&#034; prog &#034;]&#034;) == $5) || ((prog &#034;:&#034;) == $5)) { print $1 ; exit 0 } }' $1 }&lt;/pre&gt; &lt;pre&gt;&lt;a name=&#034;status&#034;&gt;status&lt;/a&gt;() { # Test syntax. if [ $# = 0 ] ; then echo &#034;Usage: status {program}&#034; return 1 fi&lt;/pre&gt; &lt;pre&gt;	# First try &#034;pidof&#034; pid=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pidof $1&lt;/code&gt; if [ &#034;$pid&#034; != &#034;&#034; ] ; then echo &#034;$1 (pid $pid) is running...&#034; return 0 else pid=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ps ax | awk 'BEGIN { prog=ARGV[1]; ARGC=1 } { if ((prog == $5) || ((&#034;(&#034; prog &#034;)&#034;) == $5) || ((&#034;[&#034; prog &#034;]&#034;) == $5) || ((prog &#034;:&#034;) == $5)) { print $1 ; exit 0 } }' $1&lt;/code&gt; if [ &#034;$pid&#034; != &#034;&#034; ] ; then echo &#034;$1 (pid $pid) is running...&#034; return 0 fi fi&lt;/pre&gt; &lt;pre&gt;	# Next try &#034;/var/run/*.pid&#034; files if [ -f /var/run/$1.pid ] ; then pid=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;head -1 /var/run/$1.pid&lt;/code&gt; if [ &#034;$pid&#034; != &#034;&#034; ] ; then echo &#034;$1 dead but pid file exists&#034; return 1 fi fi # See if /var/lock/subsys/$1 exists if [ -f /var/lock/subsys/$1 ]; then echo &#034;$1 dead but subsys locked&#034; return 2 fi echo &#034;$1 is stopped&#034; return 3 }&lt;/pre&gt; &lt;pre&gt;&lt;a name=&#034;echo_success&#034;&gt;echo_success&lt;/a&gt;() { [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $MOVE_TO_COL echo -n &#034;[ &#034; [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $SETCOLOR_SUCCESS echo -n &#034;OK&#034; [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $SETCOLOR_NORMAL echo -n &#034; ]&#034; return 0 }&lt;/pre&gt; &lt;pre&gt;&lt;a name=&#034;echo_failure&#034;&gt;echo_failure&lt;/a&gt;() { [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $MOVE_TO_COL echo -n &#034;[&#034; [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $SETCOLOR_FAILURE echo -n &#034;FAILED&#034; [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $SETCOLOR_NORMAL echo -n &#034;]&#034; return 1 }&lt;/pre&gt; &lt;pre&gt;&lt;a name=&#034;echo_passed&#034;&gt;echo_passed&lt;/a&gt;() { [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $MOVE_TO_COL echo -n &#034;[&#034; [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $SETCOLOR_WARNING echo -n &#034;PASSED&#034; [ &#034;$BOOTUP&#034; = &#034;color&#034; ] &amp;&amp; $SETCOLOR_NORMAL echo -n &#034;]&#034; return 1 }&lt;/pre&gt; &lt;pre&gt;# Log that something succeeded &lt;a name=&#034;success&#034;&gt;success&lt;/a&gt;() { if [ -z &#034;$IN_INITLOG&#034; ]; then initlog -n $0 -s &#034;$1&#034; -e 1 else echo &#034;-n $0 -s \&#034;$1\&#034; -e 1&#034; &gt;&amp;21 fi [ &#034;$BOOTUP&#034; != &#034;verbose&#034; ] &amp;&amp; &lt;a href=&#034;#echo_success&#034;&gt;echo_success&lt;/a&gt; return 0 }&lt;/pre&gt; &lt;pre&gt;# Log that something failed &lt;a name=&#034;failure&#034;&gt;failure&lt;/a&gt;() { rc=$? if [ -z &#034;$IN_INITLOG&#034; ]; then initlog -n $0 -s &#034;$1&#034; -e 2 else echo &#034;-n $0 -s \&#034;$1\&#034; -e 2&#034; &gt;&amp;21 fi [ &#034;$BOOTUP&#034; != &#034;verbose&#034; ] &amp;&amp; &lt;a href=&#034;#echo_failure&#034;&gt;echo_failure&lt;/a&gt; return $rc }&lt;/pre&gt; &lt;pre&gt;# Log that something passed, but may have had errors. Useful for fsck &lt;a name=&#034;passed&#034;&gt;passed&lt;/a&gt;() { rc=$? if [ -z &#034;$IN_INITLOG&#034; ]; then initlog -n $0 -s &#034;$1&#034; -e 1 else echo &#034;-n $0 -s \&#034;$1\&#034; -e 1&#034; &gt;&amp;21 fi [ &#034;$BOOTUP&#034; != &#034;verbose&#034; ] &amp;&amp; &lt;a href=&#034;#echo_passed&#034;&gt;echo_passed&lt;/a&gt; return $rc } &lt;/pre&gt; &lt;pre&gt;# Run some action. Log its output. &lt;a name=&#034;action&#034;&gt;action&lt;/a&gt;() { STRING=$1 echo -n &#034;$STRING &#034; shift initlog $INITLOG_ARGS -c &#034;$*&#034; &amp;&amp; &lt;a href=&#034;#success&#034;&gt;success&lt;/a&gt; &#034;$STRING&#034; || &lt;a href=&#034;#failure&#034;&gt;failure&lt;/a&gt; &#034;$STRING&#034; rc=$? echo return $rc }&lt;/pre&gt; &lt;pre&gt;# Confirm whether we really want to run this service &lt;a name=&#034;confirm&#034;&gt;confirm&lt;/a&gt;() { echo -n &#034;Start service $1 (Y)es/(N)o/(C)ontinue? [Y] &#034; read answer case $answer in y|Y|&#034;&#034;) return 0 ;; c|C) return 2 ;; n|N) return 1 ;; *) confirm $1 return $? ;; esac }&lt;/pre&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Exemple</title>
		<link>https://www.admin-sys.org/?exemple</link>
		<guid isPermaLink="true">https://www.admin-sys.org/?exemple</guid>
		<dc:date>2009-06-29T14:20:19Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jerome ROBERT</dc:creator>



		<description>
&lt;p&gt;Exemple de fichier de lancement : Contenu du fichier Explication : # ! /bin/sh shell qui ex&#233;cutera le script #
&lt;br class='autobr' /&gt; # crond Start/Stop the cron clock daemon.
&lt;br class='autobr' /&gt; # nom du d&#233;mon, ( explication de ce dernier ...) # chkconfig : 2345 40 60 la commande chkconfig permet de cr&#233;er les fichiers de d&#233;marrage / arr&#234;t de ce d&#233;mon.
&lt;br class='autobr' /&gt; 2345 : les niveaux de lancement
&lt;br class='autobr' /&gt; 40 : indice pour le lancement du d&#233;mon ( S40crond )
&lt;br class='autobr' /&gt; 60 : indice (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.admin-sys.org/?-script-de-demarrage-" rel="directory"&gt;Script de d&#233;marrage&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h1 align=&#034;center&#034;&gt;Exemple de fichier de lancement : &lt;/h1&gt;&lt;div align=&#034;center&#034;&gt;
&lt;center&gt;
&lt;table border=&#034;1&#034; width=&#034;100%&#034;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt; &lt;h2&gt;Contenu du fichier&lt;/h2&gt; &lt;/td&gt; &lt;td width=&#034;55%&#034;&gt; &lt;h2&gt;Explication :&lt;/h2&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;# ! /bin/sh&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;shell qui ex&#233;cutera le script&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;#&lt;br /&gt; # crond Start/Stop the cron clock daemon.&lt;br /&gt; #&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;nom du d&#233;mon, ( explication de ce dernier ...)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;# chkconfig : 2345 40 60&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;la commande chkconfig permet de cr&#233;er les fichiers de d&#233;marrage / arr&#234;t de ce d&#233;mon.&lt;br /&gt; 2345 : les niveaux de lancement&lt;br /&gt; 40 : indice pour le lancement du d&#233;mon ( S40crond )&lt;br /&gt; 60 : indice pour le arr&#234;t du d&#233;mon ( K60crond )&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;# description : cron is a standard UNIX program that runs user-specified &lt;br /&gt; # programs at periodic scheduled times. vixie cron adds a &lt;br /&gt; # number of features to the basic UNIX cron, including better&lt;br /&gt; # security and more powerful configuration options.&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;description du d&#233;mon, il est pr&#233;f&#233;rable d'&#234;tre g&#233;n&#233;reux dans la description de ce dernier.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;# processname : crond&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;nom du d&#233;mon (commande : ps )&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;# config : &lt;a href='https://www.admin-sys.org/linux/index.php?rub=redhat&amp;file=redhat/init/crontab.htm'&gt;/etc/crontab&lt;/a&gt;&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;fichier de configuration&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt; &lt;pre&gt; # pidfile: /var/run/crond.pid&lt;/pre&gt; &lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;fichier contenant le PID du processus&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt; &lt;pre&gt; # Source function library. . [/etc/rc.d/init.d/functions-&gt;/linux/index.php?rub=redhat&amp;file=redhat/init/function.htm]&lt;/pre&gt; &lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;script pour faire une jolie pr&#233;sentation&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;# See how we were called.&lt;br /&gt; case &#034;$1&#034; in&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;utilisation du case pour les diff&#233;rents choix d'utilisation du d&#233;mon&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;start)&lt;br /&gt; echo -n &#034;Starting cron daemon : &#034;&lt;br /&gt; &lt;a href='https://www.admin-sys.org/linux/index.php?rub=redhat&amp;file=redhat/init/function.htm#daemon'&gt;daemon&lt;/a&gt; crond&lt;br /&gt; echo&lt;br /&gt; touch /var/lock/subsys/crond&lt;br /&gt; ; ;&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;lors du lancement, affichage &#034;Starting cron daemon :&#034;&lt;br /&gt; &lt;strong&gt;daemon&lt;/strong&gt; est une fonction se trouvant dans le script /etc/rc.d/init.d/functions qui permet de lancer l'ex&#233;cutable en tant que d&#233;mon.&lt;br /&gt; &lt;strong&gt;touch /var/lock/subsys/crond :&lt;/strong&gt; permet de cr&#233;er un drapeau qui servira a l'arr&#234;t du d&#233;mon. S'il n'existe pas ce dernier ne pourra &#234;tre arr&#234;t&#233; quand faisant un &#034;init 1&#034;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt;stop)&lt;br /&gt; echo -n &#034;Stopping cron daemon : &#034;&lt;br /&gt; &lt;a href='https://www.admin-sys.org/linux/index.php?rub=redhat&amp;file=redhat/init/function.htm#killproc'&gt;killproc&lt;/a&gt; crond&lt;br /&gt; echo&lt;br /&gt; rm -f /var/lock/subsys/crond&lt;br /&gt; ; ;&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;lors de l'arr&#234;t , affichage &#034;Stopping cron daemon : &#034;&lt;br /&gt; &lt;strong&gt;killproc&lt;/strong&gt; est une fonction se trouvant dans le script /etc/rc.d/init.d/functions, il permet de tuer un processus&lt;br /&gt; la commande rm supprime le drapeau indiquant que le d&#233;mon est lanc&#233;.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt; status)&lt;br /&gt; &lt;a href='https://www.admin-sys.org/linux/index.php?rub=redhat&amp;file=redhat/init/function.htm#status'&gt;status&lt;/a&gt; crond&lt;br /&gt; ; ;&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;&lt;strong&gt;status&lt;/strong&gt; est une fonction se trouvant dans le script /etc/rc.d/init.d/functions, il permet de conna&#238;tre l'&#233;tat du d&#233;mon.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt; restart)&lt;br /&gt; killall -HUP crond&lt;br /&gt; ; ;&lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;&lt;strong&gt;killall&lt;/strong&gt; commande qui permet d'envoyer un signal &#195; toutes les instances ce moment crond&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;45%&#034;&gt; &lt;pre&gt; *) echo &#034;Usage: crond {start|stop |status|restart}&#034; exit 1 esac&lt;/pre&gt;&lt;pre&gt; exit 0&lt;/pre&gt; &lt;/td&gt; &lt;td width=&#034;55%&#034;&gt;Quand on n'a pas tout compris le script indique la liste des arguments possibles.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;
&lt;/table&gt;
&lt;/center&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Les scripts de lancement :</title>
		<link>https://www.admin-sys.org/?les-scripts-de-lancement</link>
		<guid isPermaLink="true">https://www.admin-sys.org/?les-scripts-de-lancement</guid>
		<dc:date>2009-06-29T14:19:37Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jerome ROBERT</dc:creator>



		<description>
&lt;p&gt;Les scripts de lancement : &lt;br class='autobr' /&gt;
L'activation des processus sur Linux ressemble &#195; celui d'un Unix syst&#195;&#168;me V. Le processus init active le syst&#195;&#168;me au niveau donn&#195;&#169; dans le fichier /etc/inittab par le mot cl&#195;&#169; initdefault et ex&#195;&#169;cute le script /etc/rc.d/rc.sysinit qui contient des commandes de contr&#195;&#180;le et d'initialisation indispensables pour le fonctionnement de Linux. &lt;br class='autobr' /&gt;
Suivant la configuration du fichier /etc/inittab, on peut obtenir deux cas de figure : &lt;br class='autobr' /&gt; Un niveau offre des services (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.admin-sys.org/?-script-de-demarrage-" rel="directory"&gt;Script de d&#233;marrage&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 align=&#034;center&#034;&gt;Les scripts de lancement :&lt;/h2&gt;
&lt;p&gt;L'activation des processus sur Linux ressemble &#195; celui d'un Unix syst&#195;&#168;me V. Le&lt;br class='autobr' /&gt;
processus &lt;b&gt;init&lt;/b&gt; active le syst&#195;&#168;me au niveau donn&#195;&#169; dans le fichier &lt;b&gt;/etc/inittab&lt;/b&gt;&lt;br class='autobr' /&gt;
par le mot cl&#195;&#169; &lt;b&gt;initdefault &lt;/b&gt;et ex&#195;&#169;cute le script &lt;b&gt;/etc/rc.d/rc.sysinit&lt;/b&gt; qui&lt;br class='autobr' /&gt;
contient des commandes de contr&#195;&#180;le et d'initialisation indispensables pour le&lt;br class='autobr' /&gt;
fonctionnement de Linux.&lt;/p&gt;
&lt;p&gt;Suivant la configuration du fichier /etc/inittab, on peut obtenir deux cas de figure :&lt;/p&gt;
&lt;ul&gt; &lt;li&gt;Un niveau offre des services totalement diff&#195;&#169;rents de ceux offerts par les autres&lt;br class='autobr' /&gt; niveaux. Un changement de niveau se traduit par un mode de fonctionnement sp&#195;&#169;cifique et&lt;br class='autobr' /&gt; distincts des autres niveaux.&lt;/li&gt; &lt;li&gt;Un niveau sup&#195;&#169;rieur englobe un autre en ajoutant de nouveaux services. Le niveau 3&lt;br class='autobr' /&gt; offre tous les services du niveau 2 et des services suppl&#195;&#169;mentaires.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lors d'un changement de niveau, init envoie le signal 15 (SIGTERM) &#195; tous les&lt;br class='autobr' /&gt;
processus devant s'arr&#195;&#170;taient &#195; ce niveau. Ces derniers sont repr&#195;&#169;sent&#195;&#169;s par un script&lt;br class='autobr' /&gt;
K##nom_du_service. Si au bout de cinq secondes, ils ne se sont pas arr&#195;&#170;t&#195;&#169;s init&lt;br class='autobr' /&gt;
leur&lt;br class='autobr' /&gt;
envoie le signal 9 (SIGKILL). On peut param&#195;&#168;trer le d&#195;&#169;lai (time out) par l'option&lt;br class='autobr' /&gt;
&#034;-t nbre_secondes&#034; de init.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;Les niveaux :&lt;/h4&gt;&lt;table border=&#034;1&#034; width=&#034;100%&#034;&gt; &lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;&lt;h4&gt;Niveau&lt;/h4&gt; &lt;/td&gt; &lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;&lt;h4&gt;Utilisation conventionnelle&lt;/h4&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;0&lt;/td&gt; &lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;Arr&#195;&#170;t de la machine. La commande shutdown ex&#195;&#169;cute, en final le basculement au niveau 0.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;1&lt;/td&gt;&lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;Mode maintenance. Tous les syst&#195;&#168;mes de fichiers sont mont&#195;&#169;s. Seul la console est disponible pour l'administrateur.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;2&lt;/td&gt; &lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;Mode multi-utilisateur. Les services r&#195;&#169;seaux sont lanc&#195;&#169;s sauf le serveur NFS.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;3&lt;/td&gt; &lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;Sur ensemble du niveau 2, avec le serveur NFS&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;4&lt;/td&gt; &lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;A d&#195;&#169;finir par l'utilisateur.&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;5&lt;/td&gt; &lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;Mode de connexion graphique, via le d&#195;&#169;mon &lt;b&gt;xdm&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;6&lt;/td&gt; &lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;Arr&#195;&#170;t et red&#195;&#169;marrage du syst&#195;&#168;me&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;38&#034;&gt;s,S&lt;/td&gt; &lt;td width=&#034;87%&#034; height=&#034;38&#034;&gt;Mode single user. Les syst&#195;&#168;mes de fichiers sont mont&#195;&#169;s. La console est connect&#195;&#169; en tant que root sur le syst&#195;&#168;me. Id&#195;&#169;al, quand on a oubli&#195;&#169; le mot de passe de root.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td width=&#034;13%&#034; align=&#034;center&#034; height=&#034;19&#034;&gt;7,8,9&lt;/td&gt;&lt;td width=&#034;87%&#034; height=&#034;19&#034;&gt;A d&#195;&#169;finir par l'utilisateur.&lt;/td&gt; &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;Les scripts de d&#195;&#169;marrage :&lt;/h4&gt;
&lt;p&gt;Les scripts de d&#195;&#169;marrage se trouvent dans le r&#195;&#169;pertoire /etc/rc.d/init.d/. &lt;/p&gt;
&lt;p&gt;Un script comprendra plusieurs parties :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;une proc&#195;&#169;dure de d&#195;&#169;marrage du service ou du d&#195;&#169;mon&lt;/li&gt; &lt;li&gt;une proc&#195;&#169;dure d'arr&#195;&#170;t du service ou du d&#195;&#169;mon&lt;/li&gt; &lt;li&gt;une proc&#195;&#169;dure de red&#195;&#169;marrage ( optionnel )&lt;/li&gt; &lt;li&gt;une proc&#195;&#169;dure pour conna&#195;&#174;tre sous &#195;&#169;tat ( optionnel )&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On prendra l'exemple du script de lancement du cron pour analyser un script type.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;u&gt;Pour d&#195;&#169;marrer ou arr&#195;&#170;ter un service ou un d&#195;&#169;mon :&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;/etc/rc.d/init.d/nom_script start ==&gt; pour d&#195;&#169;marrer&lt;/p&gt;
&lt;p&gt;/etc/rc.d/init.d/nom_script stop ==&gt; pour arr&#195;&#170;ter&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;u&gt;Mise en place des scripts dans l'arborescence :&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;Chaque niveau de fonctionnement du syst&#195;&#168;me poss&#195;&#168;de un r&#195;&#169;pertoire dans /etc/rc.d. &lt;/p&gt;
&lt;p&gt;
&lt;b&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>


 
	


 
	

</channel>
</rss>
