파일에 텍스트를 추가할 때 lsof는 파일을 열린/액세스된 것으로 표시하지 않습니다.

파일에 텍스트를 추가할 때 lsof는 파일을 열린/액세스된 것으로 표시하지 않습니다.

한 세션에서는 다음과 같이 파일에 일부 텍스트를 추가합니다.

while true;do echo some_text >> file1 ; done

동일한 디렉터리의 다른 세션에서 다음을 실행합니다.

lsof file1

출력이 반환되지 않습니다. 이유를 아시나요? lsof가 파일을 쓰는 과정을 보고하면 안 되나요? RHEL 7.2를 사용하고 있습니다.

답변1

그것은 단지 "불운"일 뿐입니다(또는 원하는 경우 매우 좁은 기간). pv파일을 더 오래 열어두기 위해 쓰기를 제한하여 프로세스 속도를 늦출 수 있습니다 .

echo "0000000000000000000000000000000000000000000000000000000000" | pv -L 2 >> opened.dat

다른 터미널에서:

lsof opened.dat 
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
pv      30636   me    1w   REG  253,1       60 24642407 opened.dat

관련 정보