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

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

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

답변1

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

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

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

위의 내용은 Hauke ​​Laging이 간결하게 말한 내용을 조금 더 장황하게 표현한 것입니다. 나는 당신이 그의 대답을 받아들이기를 제안합니다.

답변2

액세스할 때마다 업데이트됩니다. 그 순간 커널의 상태를 볼 수 있습니다. 이것이 "파일"에 표시된 크기가 실제 크기가 아닌 이유입니다. 실제 크기는 변경될 수 있으며 파일에 액세스하는 순간 결정됩니다.

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

관련 정보