<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.jordan-lenuff.com/index.php?action=history&amp;feed=atom&amp;title=Technique%2FLinux%2FService_avec_systemd</id>
	<title>Technique/Linux/Service avec systemd - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jordan-lenuff.com/index.php?action=history&amp;feed=atom&amp;title=Technique%2FLinux%2FService_avec_systemd"/>
	<link rel="alternate" type="text/html" href="https://wiki.jordan-lenuff.com/index.php?title=Technique/Linux/Service_avec_systemd&amp;action=history"/>
	<updated>2026-04-20T13:16:27Z</updated>
	<subtitle>Historique des révisions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://wiki.jordan-lenuff.com/index.php?title=Technique/Linux/Service_avec_systemd&amp;diff=502&amp;oldid=prev</id>
		<title>Jordan : Page créée avec « == Présentation == Cette page a pour objet de présenter l'utilisation de service Linux avec &lt;code&gt;systemd&lt;/code&gt;.  == Exemple avec une commande php pour Symfony == Scrip… »</title>
		<link rel="alternate" type="text/html" href="https://wiki.jordan-lenuff.com/index.php?title=Technique/Linux/Service_avec_systemd&amp;diff=502&amp;oldid=prev"/>
		<updated>2020-02-14T10:33:14Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « == Présentation == Cette page a pour objet de présenter l&amp;#039;utilisation de service Linux avec &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt;.  == Exemple avec une commande php pour Symfony == Scrip… »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Présentation ==&lt;br /&gt;
Cette page a pour objet de présenter l'utilisation de service Linux avec &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Exemple avec une commande php pour Symfony ==&lt;br /&gt;
Script &amp;lt;code&amp;gt;/path/to/my/Symfony/script/myscript.sh&amp;lt;/code&amp;gt; contenant la commande php à faire tourner en continu :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
NAME=MyApp-daemon&lt;br /&gt;
DESC=&amp;quot;Daemon for my Symfony App&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get current dir&lt;br /&gt;
CURRENT_DIR=`dirname $0`&lt;br /&gt;
&lt;br /&gt;
# Get current env (if not provided, get &amp;quot;dev&amp;quot; default value&amp;quot;)&lt;br /&gt;
APP_ENV=${APP_ENV:-dev}&lt;br /&gt;
&lt;br /&gt;
LOGTREE=${CURRENT_DIR}&lt;br /&gt;
LOGFILE=${LOGTREE}/${NAME}-${APP_ENV}.log&lt;br /&gt;
&lt;br /&gt;
echo $(date &amp;quot;+%F %T&amp;quot;)&amp;quot; Begin of &amp;quot;`basename &amp;quot;$0&amp;quot;`&amp;quot; script.&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
&lt;br /&gt;
DAEMON=&amp;quot;php -d display_errors=on&amp;quot;&lt;br /&gt;
DAEMON_OPTS=&amp;quot;mysymfony:command --env=${APP_ENV}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RUNNING=true&lt;br /&gt;
&lt;br /&gt;
trap 'RUNNING=false;echo &amp;quot;Quit on SIGTERM&amp;quot; &amp;gt;&amp;gt; $LOGFILE 2&amp;gt;&amp;amp;1' SIGTERM&lt;br /&gt;
&lt;br /&gt;
while [[ $RUNNING == true ]]&lt;br /&gt;
do&lt;br /&gt;
	$DAEMON /path/to/my/Symfony/App/bin/console $DAEMON_OPTS &amp;gt;&amp;gt; $LOGFILE 2&amp;gt;&amp;amp;1&lt;br /&gt;
	sleep 2&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo $(date &amp;quot;+%F %T&amp;quot;)&amp;quot; End of &amp;quot;`basename &amp;quot;$0&amp;quot;`&amp;quot; script.&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nouveau fichier de service &amp;lt;code&amp;gt;/usr/lib/systemd/system/mysymfonyapp.service&amp;lt;/code&amp;gt; dont le contenu est le suivant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=My Symfony App envTest Daemon&lt;br /&gt;
After=network-online.target&lt;br /&gt;
# Interval de temps en seconde(s) pendant lequel le service est autorisé à redémarrer &amp;quot;StartLimitBurst&amp;quot; fois&lt;br /&gt;
StartLimitIntervalSec=30&lt;br /&gt;
# Nombre de fois que le service est autorisé à redémarrer pendant l'interval de &amp;quot;StartLimitIntervalSec&amp;quot; seconde(s)&lt;br /&gt;
StartLimitBurst=1&lt;br /&gt;
 &lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
Environment=&amp;quot;APP_ENV=envtest&amp;quot;&lt;br /&gt;
PIDFile=/var/run/EXTPRO-DAEMON-envtest.pid&lt;br /&gt;
Restart=always&lt;br /&gt;
WorkingDirectory=/path/to/my/Symfony/script&lt;br /&gt;
&lt;br /&gt;
User=webuser&lt;br /&gt;
Group=webgroup&lt;br /&gt;
UMask=007&lt;br /&gt;
 &lt;br /&gt;
ExecStart=/path/to/my/Symfony/script/myscript.sh&lt;br /&gt;
ExecStop=/bin/kill -15 $MAINPID&lt;br /&gt;
 &lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prise en charge de la modification avec :&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
Activation du service au démarrage :&lt;br /&gt;
 systemctl enable mysymfonyapp.service&lt;br /&gt;
&lt;br /&gt;
Désactivation du service au démarrage :&lt;br /&gt;
 systemctl disable mysymfonyapp.service&lt;br /&gt;
&lt;br /&gt;
Lancement du service :&lt;br /&gt;
 systemctl start mysymfonyapp.service&lt;br /&gt;
&lt;br /&gt;
Arrêt du service :&lt;br /&gt;
 systemctl stop mysymfonyapp.service&lt;br /&gt;
&lt;br /&gt;
Relance du service (attention, limite de relance à 1 toutes les 30 secondes) :&lt;br /&gt;
 systemctl restart mysymfonyapp.service&lt;/div&gt;</summary>
		<author><name>Jordan</name></author>
		
	</entry>
</feed>