Ricerca

A.2. Processi di attivazione

download PDF
Numerose applicazioni eseguono la scansione dei file di configurazione per la presenza di modifiche. In numerosi casi la scansione viene eseguita ad intervalli fissi, per esempio, ad ogni minuto. Ciò può presentare un problema poichè verrà forzata l'attivazione del disco dopo un suo arresto (spindown). La migliore soluzione è quella di trovare un intervallo idoneo, un buon meccanismo di controllo o di verificare la presenza di modifiche con inotify e reagire agli eventi. Inotify è in grado di verificare un numero elevato di modifiche presenti sul file o sulla directory.
Per esempio:
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();
}
...
Il vantaggio offerto da questo approccio è rappresentato da una vasta gamma di controlli possibili.
La limitazione principale è che solo un numero limitato di watch è disponibile su di un sistema. È possibile ottenere tale numero tramite /proc/sys/fs/inotify/max_user_watches ed anche se sarà possibile modificarlo, tale operazione non è consigliata. Altresì, nel caso in cui inotify fallisce, il codice deve cambiare il metodo di controllo, ciò significa che saranno presenti numerosi eventi #if #define nel codice sorgente.
Per maggiori informazioni su inotify consultare la pagina man di inotify.
Red Hat logoGithubRedditYoutubeTwitter

Formazione

Prova, acquista e vendi

Community

Informazioni sulla documentazione di Red Hat

Aiutiamo gli utenti Red Hat a innovarsi e raggiungere i propri obiettivi con i nostri prodotti e servizi grazie a contenuti di cui possono fidarsi.

Rendiamo l’open source più inclusivo

Red Hat si impegna a sostituire il linguaggio problematico nel codice, nella documentazione e nelle proprietà web. Per maggiori dettagli, visita ilBlog di Red Hat.

Informazioni su Red Hat

Forniamo soluzioni consolidate che rendono più semplice per le aziende lavorare su piattaforme e ambienti diversi, dal datacenter centrale all'edge della rete.

© 2024 Red Hat, Inc.