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


33

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


1
+1. 이것은 학생들에게 물어 보는 훌륭한 숙제입니다. 감사.
조나단 벤-아브라함

5
@ JonathanBen-Avraham 커뮤니티에서 "훌륭한 숙제"태그를 생성 할 수 있는지 메타에 대해 문의하십시오. 8-)
Hauke ​​Laging

답변:


46

proc 파일 시스템에서 읽은 정보는 어떤 매체 (RAM에도 저장되지 않음)에 저장되지 않으므로 업데이트 할 내용이 없습니다.

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

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

위의 내용은 Hauke ​​Laging이 간결하게 말하는 것을 말하는 좀 더 장황한 방법입니다. 그의 대답을 받아들이는 것이 좋습니다.


이 답변이 사실이라는 증거가 필요하면 / proc (또는 그 문제에 대해서는 / sys)의 "파일"또는 디렉토리에서 inotify를 실행하십시오 ... 너무 나쁘다. y에 무언가가 나타날 때 x를 실행하는 간단한 inotify 프로세스
technosaurus

24

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

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


10
+1. "나무가 숲에 떨어지면 아무도 들리지 않으면 소리가 나지 않습니까?", 즉 "proc 파일 시스템이 있고 아무도 읽지 않으면 존재합니까?" ? ".
조나단 벤-아브라함

@ JonathanBen-Avraham 모든 FS에 대해 말할 수는 없습니까? :-) 그러나 생각보다 proc에 대한 액세스가 훨씬 많다는 것을 명심하십시오. ... fstab에, 재부팅을 주석, 모든 지옥 나누기 느슨한
Hauke Laging에게

내가 의미하는 바는 특정 시점에 아무도 읽지 않아도 미디어 지원 파일 시스템의 데이터가 존재한다는 것입니다. proc 및 sys와 같이 읽는 순간에는 존재하지 않습니다. 당신은 맞습니다, proc에는 많은 독자들이 있습니다. 그러나 sys는 fstab에서 적어도 작은 시스템에서는 주석 처리하고 여전히 Ok를 실행할 수있는 유사한 파일 시스템입니다. 건배.
조나단 벤-아브라함

4
고양이가 죽었나요? 보고보세요. 짐이 죽었어 불쌍한 고양이.
0x7c0

@HaukeLaging /proc/내 fstab 파일에 have이 없습니다
Hi-Angel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.