出现错误消息后退出 /dev/tty

出现错误消息后退出 /dev/tty

当按下按钮时我运行这个 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 等都会容易得多。

还是我误解了你的意图?

相关内容