当按下按钮时我运行这个 bash 函数,它会呼叫我的手机,但是当呼叫结束或我拒绝呼叫时,它会挂在 /dev/tty 中并且不会返回到主程序
呼叫.sh
#!/bin/bash
printf %s\\n 'call sip:[email protected]' | cat - /dev/tty |twinkle -c
这是主程序:
while(1):
if lcd.buttonPressed(lcd.SELECT):
os.system("./call.sh")
当手机离线或呼叫被拒绝时,它会挂起并且不会返回到python程序:
然后我必须按 CTRL + C 和 CTRL + Z 退出,这也会关闭 python 程序。
出现 408 请求超时错误或 468 Busy Here 消息后是否可以返回主程序?
编辑:答案感谢@mikeservmkfifo /tmp/pipe; exec 3<>/tmp/pipe; (trap '' TTIN TTOU; twinkle -c) <&3 & printf '\ncall sip:'[email protected] >&3
答案1
如果你想让 twinkle 在你按下按钮时拨打电话,我建议你让你的按键监控程序使用 twinkle 的命令行直接执行此操作:
twinkle-c--立即--呼叫sip:[电子邮件受保护]
所有这些摆弄 ttys 等都会容易得多。
还是我误解了你的意图?