Страница 1 из 1

Скрипт перезапуска Asterisk

Добавлено: 15 май 2015, 22:59
venom1_
Здравствуйте!
В связи с зависаниями Астериск-а, временно сделал для заказчика скрипт с кнопкой "Перезагрузить Астериск". Но при нажатии выводится ссобщение в браузер "Stopping safe_asterisk: [FAILED] Shutting down asterisk: [ OK ]", а в командной строке в ответ на запрос "service asterisk status" - "asterisk dead but subsys locked". На папку со скриптом и на сам файл временно выставлены полные права(777), владелец-root.

Код: Выделить всё

<html><body>
<?php if (!isset($_REQUEST['doGo'])) {?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']?>">
<input type=submit name="doGo" value="Reset Asterisk">
</form>
<?php } else {
$sys="service asterisk stop";
system($sys);?>
<?php }
?>

Re: Скрипт перезапуска Asterisk

Добавлено: 16 май 2015, 07:17
awsswa
если с железом проблем нет - asterisk не виснет

Re: Скрипт перезапуска Asterisk

Добавлено: 16 май 2015, 09:02
virus_net
venom1_ писал(а):На папку со скриптом и на сам файл временно выставлены полные права(777), владелец-root.
это конечно здорово, но команда все равно будет исполняться от того пользователя, от которого запущена HTTP служба, скорее всего это www. Вот он и не может удалить lock файл.
What does “<service_name> dead but subsys locked” mean?
This means the service was running at one time, but has crashed.

When you start a service, it creates a "lock" file to indicate that the service is running. This helps avoid multiple instances of the service. When you stop a service, this lock file is removed.

When a running service crashes, the lock file exists but the process no longer exists. Thus, the message.

Look at the two areas /var/run/*.pid and /var/lock/subsys/*.