flush가 안 돼서 그럼
스트림 io에 대한 지식이 있으면 좋지만
잘 모르겠으면 일단 계산하는 게 아니라 뭔가 입출력을 하는건 상당히 손해라서 모아뒀다가 한 번에 하려고 하는데 평소에는 적절한 시간에 잘 출력을 해 줄텐데 이 상황에서는 하필 버퍼에 걸린 상태에서 멈춰서 그런거임
이유는 복합적인 환경 문제라서 뭐라 딱 집을수는 없지만 확실한건 버퍼링때문에 출력되지 않고 있는거임
윗 댓글처럼 버퍼 문제고 강제로 플러시 하면 됨
아래는 더 자세히 알고싶으면 참고하라고 올림
print로 출력하면 stdout으로 출력하는 거고 기본이 대부분 line buffer를 사용하기 때문에 줄 바꿈이 발생하거나 강제로 플러시 해야됨
Buffering modes 는 다음 3 가지로 구분해 볼 수 있습니다.
line buffered : newline 을 만나면 출력합니다.
full buffered : 버퍼가 차면 출력합니다.
unbuffered : 버퍼링을 하지 않고 바로 출력합니다. (1 byte)
명령이 실행되면 자동으로 stdin, stdout, stderr 세 개의 stream 이 생성되는데 버퍼와 관련해서 각각 다음과 같은 특징이 있습니다. ( 기본적으로 새로 open 되는 stream 은 full buffered 입니다. )
stdin : 터미널에서 입력을 받으면 line buffered or unbuffered 이고 그외는 full buffered 입니다.
stdout : 터미널에 연결되어 있으면 line buffered 이고 그외는 full buffered 입니다.
stderr : 항상 unbuffered 입니다. 그러므로 stderr 로 메시지를 출력하면 바로 표시가 됩니다.
https://mug896.github.io/bash-shell/buffering.html
윗 댓글처럼 버퍼 문제고 강제로 플러시 하면 됨
아래는 더 자세히 알고싶으면 참고하라고 올림
print로 출력하면 stdout으로 출력하는 거고 기본이 대부분 line buffer를 사용하기 때문에 줄 바꿈이 발생하거나 강제로 플러시 해야됨
Buffering modes 는 다음 3 가지로 구분해 볼 수 있습니다.
line buffered : newline 을 만나면 출력합니다.
full buffered : 버퍼가 차면 출력합니다.
unbuffered : 버퍼링을 하지 않고 바로 출력합니다. (1 byte)
명령이 실행되면 자동으로 stdin, stdout, stderr 세 개의 stream 이 생성되는데 버퍼와 관련해서 각각 다음과 같은 특징이 있습니다. ( 기본적으로 새로 open 되는 stream 은 full buffered 입니다. )
stdin : 터미널에서 입력을 받으면 line buffered or unbuffered 이고 그외는 full buffered 입니다.
stdout : 터미널에 연결되어 있으면 line buffered 이고 그외는 full buffered 입니다.
stderr : 항상 unbuffered 입니다. 그러므로 stderr 로 메시지를 출력하면 바로 표시가 됩니다.