오류 메시지 후 /dev/tty를 종료합니다.

오류 메시지 후 /dev/tty를 종료합니다.

버튼을 누르면 이 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 등을 조작하는 것이 훨씬 쉬울 것입니다.

아니면 제가 당신의 의도를 오해한 걸까요?

관련 정보