Browse Source

serviço supervisor para systemd - supervisoe.service

master
Rodgger 2 years ago
parent
commit
0ffdd2d404
  1. 10
      asterisk/var_lib_asterisk/scripts/supervisor/ssupervisor.php
  2. 25
      asterisk/var_lib_asterisk/scripts/supervisor/supervisor.service

10
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();
}

25
asterisk/var_lib_asterisk/scripts/supervisor/supervisor.service

@ -1,9 +1,30 @@
#
# 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]
Description=Service Supervisor Simples IP
Description=Supervisor - Simples IP
[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
RestartSec=1
ExecStart=/usr/bin/php /var/lib/asterisk/scripts/supervisor/ssupervisor.php
[Install]
WantedBy=multi-user.target

Loading…
Cancel
Save