|
|
|
|
#!/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<EFBFBD>vel global usada em logStr.
|
|
|
|
|
*/
|
|
|
|
|
$nivelLog = LOG_MSG_DISPLAY;
|
|
|
|
|
$scrpt = $argv[0];
|
|
|
|
|
|
|
|
|
|
$shmSystemKey = ShmGetId(SHM_IPC_FILE);
|
|
|
|
|
$memoryAllocated = Malloc();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Se a memoria ainda n<EFBFBD>o foi criada tenta cria-la.
|
|
|
|
|
*/
|
|
|
|
|
$shmKey = ShmOpen($shmSystemKey, 'c', SHM_ACESS_PERMISSION, $memoryAllocated);
|
|
|
|
|
if (!$shmKey) {
|
|
|
|
|
$msg = "N<EFBFBD>o foi poss<EFBFBD>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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
?>
|