"tail -s N"은 업데이트하기 전에 N초 동안 휴면 상태가 아닙니다.

"tail -s N"은 업데이트하기 전에 N초 동안 휴면 상태가 아닙니다.

GNU 매뉴얼에는 tail다음과 같은 내용이 있습니다.

-s,--sleep-interval=N

를 사용하는 경우 -f반복 사이에 약 몇 초 동안 휴면 상태를 유지합니다 N(기본값 ) 및 를 1.0사용하는 경우 적어도 초당 한 번씩 프로세스를 확인합니다.inotify--pid=PPN

그런데 글을 쓰면 tail --sleep-interval=10 -F file_name 10초도 잠을 자지 않고 바로 업데이트됩니다. 제가 잘못 이해한 건가요, 아니면 잘못 사용하고 있는 건가요?

당신의 도움을 주셔서 감사합니다

답변1

완전한 매뉴얼-s~로 서술 된

반복 간 대기 시간(초)을 변경합니다(기본값은 1.0). 반복하는 동안 지정된 각 파일을 검사하여 크기가 변경되었는지 확인합니다. tail이 폴링 관련 옵션은 일반적으로 inotify를 사용할 때 무시됩니다. 그러나 을 지정하면 tail은 프로세스가 다음과 같은지 확인합니다.--pid=p적어도 그는 매번 살아 있어요숫자두번째. 이것숫자음수가 아니어야 하며 현재 로케일 또는 C 로케일의 부동 소수점 숫자일 수 있습니다. 바라보다부동 소수점.

시스템에 inotify 기능이 있을 수 있으므로 tail폴링 대신 사용되며 pid를 추적하지 않으므로 -s옵션이 적용되지 않습니다. inotify를 비활성화할 수 있습니다.문서화되지 않은 ---disable-inotify옵션(그리고대시) 예상대로 잠이 들게 됩니다 tail(감사합니다 )스티븐 차제라스~을 위한제안! ).

관련 정보