저는 이를 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
소유권 및 권한 요구 사항에 따라 이 정도면 충분할 수 있습니다.