[unix] 아직 생성되지 않은 파일의 테일링을 시작하는 방법

tail디스크에 진행률을 기록 할 작업의 진행률을 모니터링하는 데 사용 합니다. 거의 항상, 나는 그들이 실행을 시작하기 전에 어떤 파일을 만들 것인지 알고 있습니다 (작업은 수퍼 컴퓨터의 스케줄러에 의해 발송됩니다)

tail이러한 파일을 작성하기 전에이 방법을 사용할 수 있습니까? 경쟁 조건 을 피하고 작업이 디스크에 쓰는 방법과시기에 대해 가정 하면서 그렇게하고 싶습니다 .



답변

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


답변

귀하의 경우 tail구현이없는 --retry옵션을, 당신은 아마 속이 자신을 파일을 만들 수 있습니다 :

$ touch file && tail-f file

충분할 수있는 소유권 및 권한과 관련한 요구 사항에 따라


답변