You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

71 lines
1.9 KiB

#!/usr/bin/php -Cq
<?php
error_reporting(E_ERROR);
ini_set('display_errors', 0);
include 'util/util.php';
include '/var/lib/asterisk/scripts/integracao/constServerIntegra.php';
require '/var/lib/asterisk/scripts/integracao/shm.php';
require '/var/lib/asterisk/scripts/integracao/localDataBase.php';
require '/var/lib/asterisk/scripts/integracao/serverFunctions.php';
include("util/funcoesAgi.php");
/*
* Variável global usada em logStr.
*/
$nivelLog = LOG_MSG_DISPLAY;
$scrpt = $argv[0];
$shmSystemKey = ShmGetId(SHM_IPC_FILE);
$memoryAllocated = Malloc();
/*
* Se a memoria ainda não foi criada tenta cria-la.
*/
$shmKey = ShmOpen($shmSystemKey, 'c', SHM_ACESS_PERMISSION, $memoryAllocated);
if (!$shmKey) {
$msg = "Não foi possível abrir a memoria do servidor: ";
$er = error_get_last();
echo $msg . $er . "\n";
exit(1);
}
$statusProcessos = array('Livre' => 0, 'Ocupado' => 0, 'Finalizado' => 0, 'Ni' => 0);
for ($i = 0; $i < MEMORY_SEGMENT_COUNT; $i++) {
$status = @ShmRead($shmKey, $i, 1);
switch (StrToIntDef($status)) {
case PROCESSESS_START:
$statusProcessos['Ocupado'] ++;
break;
case PROCESSESS_WAIT:
$statusProcessos['Livre'] ++;
break;
case PROCESSESS_READ:
$statusProcessos['Finalizado'] ++;
break;
default:
$statusProcessos['Ni'] ++;
break;
}
}
echo "\nResumo dos processos\n\n";
foreach ($statusProcessos as $key => $value) {
echo sprintf("%s Processos %s.\n", $value, $key);
}
echo "\nDigite um caracter para continuar!";
fgets(STDIN);
for ($i = 0; $i < MEMORY_SEGMENT_COUNT; $i++) {
$status = @ShmRead($shmKey, $i, 1);
if ($status != 0) {
$data = trim(@ShmRead($shmKey, GetOffSet($i), MEMORY_SEGMENT_WITH));
//ShmWrite($shmKey, $arUid[$i], GetOffSet($i));
echo sprintf("Dados do seg.(%s)(%s): %s\n", $i, $status, $data);
}
}
?>