아직 생성되지 않은 파일 추적을 시작하는 방법

아직 생성되지 않은 파일 추적을 시작하는 방법

저는 이를 tail디스크에 기록하는 작업의 진행 상황을 모니터링하는 데 사용합니다. 거의 항상 실행을 시작하기 전에 어떤 파일이 생성될지 알고 있습니다. (작업은 슈퍼컴퓨터의 스케줄러에 의해 예약됩니다.)

tail이러한 파일을 생성하기 전에 처리하는 방법이 있습니까 ? 피하면서 하고 싶어경쟁 조건작업이 디스크에 기록되는 방법과 시기를 가정합니다.

답변1

테일 플래그를 사용하십시오 ( GNU coreutils의 플래그가 -F있다고 가정 ):tail

tail -F file-that-does-not-exist

에서 man tail:

   -F     same as --follow=name --retry
   --retry
          keep trying to open a file even when it is or becomes inaccessi‐
          ble; useful when following by name, i.e., with --follow=name
   -f, --follow[={name|descriptor}]
          output appended data as the file grows; -f, --follow, and --fol‐
          low=descriptor are equivalent

답변2

구현 tail에 해당 옵션이 없으면 --retry아마도 직접 파일을 속이고 만들 수 있습니다.

$ touch file && tail-f file

소유권 및 권한 요구 사항에 따라 이 정도면 충분할 수 있습니다.

관련 정보