테일링 출력 로그에 때때로 부분 행이 표시되는 이유는 무엇입니까?

테일링 출력 로그에 때때로 부분 행이 표시되는 이유는 무엇입니까?

가끔 업데이트되는 출력 로그를 추적해도 전체 행이 제공되지 않는 경우가 있습니다. 왜 그런 겁니까?

grep pattern input_file > output.log &
tail output.log

왜 마지막 줄 전체가 인쇄되지 않습니까?

답변1

파일 읽기 및 쓰기는 라인 원자적이거나 tail -f라인 버퍼링되지 않습니다. 따라서 tail -f파일을 쓰는 동안 파일을 읽는 경우 파일 쓰기 프로세스가 줄 끝을 쓰기 전에 파일 끝에 도달하여 인쇄가 중지될 수 있습니다. 이런 일이 발생하면 그것이 보이는 전부이기 때문에 불완전한 줄을 인쇄합니다.

관련 정보