XTerm에서 실행하려는 Python 스크립트가 동시에 너무 많은 줄을 출력하여 결국 오류 메시지와 함께 스크립트가 충돌하는 문제가 있습니다.
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
이런 일이 발생하지 않도록 라인 출력 속도를 어떻게 제한할 수 있습니까? 예를 들어 tmux에서 이것이 가능하다는 것을 읽었습니다.이에 따르면, 그러나 XTerm에 대한 유사한 옵션을 찾을 수 없습니다. 도움이 필요하세요?
답변1
xterm이 데이터를 표시하는 속도(의사 터미널 메인에서 데이터 읽기)를 제한하는 것이 어떤 영향을 미칠지 의심스럽습니다. 문제는 그 반대일 가능성이 높습니다(xterm이 충분히 빨리 읽지 않아 pty 버퍼가 가득 차서 쓰기 시도가 차단되거나 반환될 수 있으며 비차단 모드를 사용하면 요청당 더 적은 데이터를 씁니다).
언제든지 출력(및/또는 오류)을 파이프하여 pv -qL1000
1000B/s로 늦출 수 있습니다.
myscript | pv -qL1000
즉, myscript
stdout은 여전히 터미널입니다.
socat -u 'exec:myscript,commtype=pty,raw' - | pv -qL1000