From 94af25345f02068a0fa71679b0bd39cb9277507a Mon Sep 17 00:00:00 2001 From: Rodgger Date: Thu, 9 Feb 2023 08:41:15 -0500 Subject: [PATCH] =?UTF-8?q?servi=C3=A7o=20supervisor=20para=20systemd=20-?= =?UTF-8?q?=20supervisoe.service?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scripts/supervisor/ssupervisor.php | 10 +++++++ .../scripts/supervisor/supervisor.service | 29 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/asterisk/var_lib_asterisk/scripts/supervisor/ssupervisor.php b/asterisk/var_lib_asterisk/scripts/supervisor/ssupervisor.php index f7b8eb0..09aa8da 100644 --- a/asterisk/var_lib_asterisk/scripts/supervisor/ssupervisor.php +++ b/asterisk/var_lib_asterisk/scripts/supervisor/ssupervisor.php @@ -216,6 +216,16 @@ function GetDaemon($notDaemon) { exit(0); //success } + /* PIDFile SYSTEMD + * SYSTEMD irá monitorar esse pid para verificar se ainda ativo + */ + $PIDFile = fopen( "/var/lock/subsys/superivisor.pid", "w+" ); + $pid = getmypid( ) + if( $pid == false ){ + exit( 1 ); + } + fwrite( $PIDFile, $pid); + fclose( $PIDFile ); // posix_setsid(); } diff --git a/asterisk/var_lib_asterisk/scripts/supervisor/supervisor.service b/asterisk/var_lib_asterisk/scripts/supervisor/supervisor.service index 6a0ab95..cb74fae 100644 --- a/asterisk/var_lib_asterisk/scripts/supervisor/supervisor.service +++ b/asterisk/var_lib_asterisk/scripts/supervisor/supervisor.service @@ -1,12 +1,41 @@ +# +# ExecStartPre +# If more than one command is specified, the +# commands are invoked sequentially in the +# order they appear in the unit file. If one +# of the commands fails (and is not prefixed +# with "-"), other lines are not executed, +# and the unit is considered failed. +# + [Unit] +<<<<<<< HEAD Description=Service Supervisor Simples IP After=network.target +======= +Description=Supervisor - Simples IP + +>>>>>>> 0ffdd2d (serviço supervisor para systemd - supervisoe.service) [Service] Type=forking + +# verifica se o serviço está rodando +ExecStartPre=/bin/bash -c '! /usr/bin/systemctl is-active --quiet supervisor.service' + +# Limpa pid em /var/lock/subsys/superivisor.pid +ExecStartPre=/bin/bash -c "echo > /var/lock/subsys/superivisor.pid" + +ExecStart=/var/lib/asterisk/scripts/supervisor/ssupervisor.php --log=/var/log/superivisor.log +PIDFile=/var/lock/subsys/superivisor.pid + Restart=always +<<<<<<< HEAD RestartSec=3 ExecStart=/var/lib/asterisk/scripts/supervisor/ssupervisor.php +======= +RestartSec=1 +>>>>>>> 0ffdd2d (serviço supervisor para systemd - supervisoe.service) [Install] WantedBy=multi-user.target