백그라운드에서 실행되는 쉘 스크립트가 있는데 이것이 수행하는 유일한 작업은 STDOUT이 파일에 추가되는 명령 1개를 실행하는 것뿐입니다.
my_blocking_command >> my_file
행 수가 너무 많이 늘어나는 것을 막고 싶어서 다음을 실행했습니다.
[ "$(cat my_file)" -ge 30 ] && tail -n20 my_file | sponge my_file
파일을 덮어쓸 때 문제가 발생합니다. 파일 설명자가 더 이상 현재 파일을 가리키지 않습니다 my_file
. my_blocking_command
작성된 파일 설명자가 원하는 파일을 가리키지 않습니다.
my_file
덮어쓰더라도 명령 출력이 항상 로 리디렉션되도록 하려면 어떻게 해야 합니까 ? (파일 설명자가 아닌 이름을 따르십시오. 예 tail --follow=name
: )
아니면 더 좋은 방법이 있을까요?