2016-10-18 13 views
0

Мне нужно сделать переадресацию вызовов (переадресация) на SIM-карте, которая используется демоном gammu sms все время. Операция переадресации может выполняться несколько раз в день. Gammu sms daemon осуществляет связь с GSM модемом 24 часа в сутки. Я не могу отправить AT-команду на порт, пока демон работает. Инструмент Gammu (не демон) готов использовать команды для переадресации вызовов, и они работают отлично, в то время как демон останавливается. Конечно, когда демон запускает правильную команду, этот порт занят.ввод команды AT в gammu SMS-демон

Есть ли способ аккуратно вводить команды AT в gammu-smsd и читать ответ?

Моя идея: 1. Остановить демон. 2. Выполните переадресацию вызова, прочтите результат 3. Запустите daemon , но эта идея не выглядит умным или изящным решением.

Если ввод команд sms-демонам невозможен, существует ли какой-либо нежный способ остановить демона не путем убийства? Я не хочу прерывать работу демона, пока он отправляет SMS.

ответ

0

Вы можете использовать SIGUSR1 и SIGUSR2 для приостановки и возобновления работы демона и использования командной строки Gammu во время приостановки SMSD.

Для получения дополнительной информации см. Gammu SMSD Signals Documentation. Существует также example:

SMSD_PID=`pidof gammu-smsd` 
if [ -z "$SMSD_PID" ] ; then 
    echo "Failed to figure out SMSD PID!" 
else 
    kill -SIGUSR1 $SMSD_PID 
    gammu identify 
    kill -SIGUSR2 $SMSD_PID 
fi