버튼을 누르면 이 bash 기능이 실행되고 전화가 걸려오지만 통화가 끝나거나 전화를 거부하면 /dev/tty에 멈춰 메인 프로그램으로 돌아가지 않습니다.
call.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 메시지 후에 기본 프로그램으로 돌아갈 수 있습니까?
편집: @mikeserv 덕분에 답변해 드립니다.mkfifo /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 등을 조작하는 것이 훨씬 쉬울 것입니다.
아니면 제가 당신의 의도를 오해한 걸까요?