A.2. 디스크 동작


많은 어플리케이션이 설정 파일이 변경되었는지 검사합니다. 이러한 검사는 1분 간격 같이 보통 고정된 주기마다 이루어집니다. 이것은 문제를 야기할 수 있습니다. 왜냐하면 이것은 디스크가 회전속도 감소상태에서 깨어나도록 하기 때문입니다. 가장 좋은 해결책은 적절한 시간 간격을 찾거나, 좋은 검사 방법을 생각해 내거나, 변경 검사를 inotify로 바꾸고 이벤트에 반응하도록 만드는 것입니다. Inotify는 파일이나 디렉터리에 일어난 여러가지 변경사항을 검사할 수 있습니다.
예를 들면 다음과 같습니다:
int fd;
fd = inotify_init();
int wd;
/* checking modification of a file - writing into */
wd = inotify_add_watch(fd, "./myConfig", IN_MODIFY);
if (wd < 0) {
  inotify_cant_be_used();
  switching_back_to_previous_checking();
}
...
fd_set rdfs;
struct timeval tv;
int retval;
FD_ZERO(&rdfs);
FD_SET(0, &rdfs);

tv.tv_sec = 5;
value = select(1, &rdfs, NULL, NULL, &tv);
if (value == -1)
  perror(select);
else {
  do_some_stuff();
}
...
이러한 접근 방법의 잇점은 다양한 검사를 할 수 있다는 것입니다.
주요 제약사항은 시스템에서 사용 가능한 감시의 숫자가 제한된다는 것입니다. 이 숫자는 /proc/sys/fs/inotify/max_user_watches에서 찾을 수 있으며, 변경할 수 있긴 하지만, 변경을 권장하지는 않습니다. 더구나, /proc/sys/fs/inotify/max_user_watches가 제공되지 않는 경우, 코드는 다른 체크 방법으로 복구를 시도해야 하며, 이는 보통 소스 코드의 여러 부분에 #if #define가 나타나는 것을 의미합니다.
inotify에 대한 추가 정보는, 다음 inotify 매뉴얼 페이지를 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.