Linux에서 proc 파일 시스템은 얼마나 자주 업데이트됩니까?

Linux에서 proc 파일 시스템은 얼마나 자주 업데이트됩니까?

procLinux에서 파일 시스템은 얼마나 자주 업데이트됩니까? 20밀리초(시간의 양자)인가요?

답변1

proc 파일 시스템에서 읽은 정보는 어떤 미디어에도(RAM에도 불구하고) 저장되지 않으므로 아무것도 업데이트할 필요가 없습니다.

proc 파일 시스템의 목적은 읽거나 쓰는 데이터가 어떤 미디어에도 상주하지 않더라도 사용자 공간 프로그램이 간단하고 친숙한 파일 시스템 의미( open, close, read, write, )를 사용하여 커널 데이터를 가져오거나 설정할 수 있도록 하는 것입니다. lseek형식을 미리 지정할 수 없는 데이터를 가져오고 설정하는 경우 이 설계 결정은 ASN1로 인코딩된 OID와 같은 것을 구현하는 것보다 더 나은 것으로 간주됩니다(예: 사람이 읽을 수 있고 스크립트하기 쉬움). 이 역시 잘 작동합니다.

proc 파일 시스템에서 읽을 때 표시되는 데이터는 파일의 시작 부분에서 읽을 때 즉시 생성됩니다. 즉, 읽기 작업을 수행하면 읽고 있는 파일과 관련된 커널 콜백 함수에 의해 데이터가 생성됩니다. 파일의 시작 부분에서 작업 lseek하고 다시 읽으면 데이터를 다시 생성하기 위해 콜백이 다시 호출됩니다. 마찬가지로 proc 파일 시스템에서 쓰기 가능한 파일에 쓸 때 콜백 함수가 호출되어 입력을 구문 분석하고 커널 변수를 설정합니다. 입력 데이터는 원시 형식으로 저장되지 않습니다.

위의 내용은 Hauke ​​Laging을 조금 더 자세하게 간략하게 설명한 것입니다. 그의 대답을 받아들이는 것이 좋습니다.

답변2

방문할 때마다 업데이트됩니다. 그 순간 커널의 상태를 볼 수 있습니다. 그렇기 때문에 "파일"에 표시된 크기는 실제 크기가 아닙니다. 실제 크기는 다를 수 있으며 파일에 액세스할 때 결정됩니다.

며칠 동안 업데이트가 되지 않을 수도 있다고 할 수 있습니다. 당신이 보지 않으면. :-)

관련 정보