가끔 업데이트되는 출력 로그를 추적해도 전체 행이 제공되지 않는 경우가 있습니다. 왜 그런 겁니까?
grep pattern input_file > output.log &
tail output.log
왜 마지막 줄 전체가 인쇄되지 않습니까?
답변1
파일 읽기 및 쓰기는 라인 원자적이거나 tail -f
라인 버퍼링되지 않습니다. 따라서 tail -f
파일을 쓰는 동안 파일을 읽는 경우 파일 쓰기 프로세스가 줄 끝을 쓰기 전에 파일 끝에 도달하여 인쇄가 중지될 수 있습니다. 이런 일이 발생하면 그것이 보이는 전부이기 때문에 불완전한 줄을 인쇄합니다.