1

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

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

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

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

4

1 回答 1

1

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

有关详细信息,请参阅Gammu SMSD 信号文档。甚至还有一个例子

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
于 2016-10-23T12:36:17.573 回答