【问题标题】:injecting AT command to gammu SMS daemon向 gammu SMS 守护进程注入 AT 命令
【发布时间】:2016-10-18 10:22:56
【问题描述】:

我需要在 gammu 短信守护进程一直使用的 SIM 卡上进行呼叫转移(重定向)。 每天可以进行几次分流操作。 Gammu 短信守护进程每天 24 小时占用与 GSM 调制解调器的通信。 守护进程运行时,我无法向端口发送任何 AT 命令。 Gammu 工具(不是守护程序)已准备好使用命令来转移呼叫,并且在守护程序停止时它们可以正常工作。 当然,当守护进程运行命令正确声明时,该端口正忙。

有没有什么办法可以将AT命令轻轻注入gammu-smsd,并读取响应?

我的想法是: 1. 停止守护进程。 2. 执行呼叫转移,读取结果 3.启动守护进程 但这个想法看起来不像是聪明或优雅的解决方案。

如果无法向 sms 守护进程注入命令,是否有任何温和的方法可以不通过杀死进程来停止守护进程?我不想在发送 SMS 时中断守护进程的工作。

【问题讨论】:

    标签: sms daemon gammu


    【解决方案1】:

    您可以使用 SIGUSR1 和 SIGUSR2 暂停和恢复守护程序,并在 SMSD 暂停时使用 Gammu 命令行。

    请参阅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
    

    【讨论】: