Browse Source

serviço amid para systemd - amid.service

1.8
Rodgger 2 years ago committed by bruno
parent
commit
e864bc8557
  1. 10
      asterisk/var_lib_asterisk/scripts/ami/amid.php
  2. 30
      asterisk/var_lib_asterisk/scripts/ami/amid.service

10
asterisk/var_lib_asterisk/scripts/ami/amid.php

@ -237,6 +237,16 @@ function GetDaemon($notDaemon) {
exit(0); //success
}
/* PIDFile SYSTEMD
* SYSTEMD irá monitorar esse pid para verificar se ainda ativo
*/
$PIDFile = fopen( "/var/lock/subsys/amid.pid", "w+" );
$pid = getmypid( )
if( $pid == false ){
exit( 1 );
}
fwrite( $PIDFile, $pid);
fclose( $PIDFile );
// posix_setsid();
}

30
asterisk/var_lib_asterisk/scripts/ami/amid.service

@ -0,0 +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=Monitoramento dos eventos gerados na central - Simples IP
[Service]
Type=forking
# verifica se o serviço está rodando
ExecStartPre=/bin/bash -c '! /usr/bin/systemctl is-active --quiet amid.service'
# Limpa pid em /var/lock/subsys/amid.pid
ExecStartPre=/bin/bash -c "echo > /var/lock/subsys/amid.pid"
ExecStart=/var/lib/asterisk/scripts/ami/amid.php
PIDFile=/var/lock/subsys/amid.pid
Restart=always
RestartSec=1
[Install]
WantedBy=multi-user.target
Loading…
Cancel
Save