Manpages

NOME

kerneld − compie un task del kernel nello spazio utente (come il caricamento dei moduli a richiesta)

SINTASSI

kerneld [ debug ] [ keep ] [ delay=<secondi> ] [ type=<numero messaggio> ]

DESCRIZIONE

A parte la rimozione automatica dei moduli non usati, kerneld effettua anche task specifici di kernel nello spazio utente rispondendo alle richieste dal kernel passanti da una coda di messaggi IPC dedicata. L’accesso a questa coda si può fare dallo spazio utente aprendo la coda con:

qid = msgget(IPC_PRIVATE, 0600 | IPC_KERNELD);

Uno specifico task viene richiesto con il tipo messaggio, come specificato in <linux/kerneld.h>.

La struttura del messaggio kerneld è:

struct kerneld_msg {

long mtype;

long id;

char text[1];

};

dove il campo id è usato come numero del messaggio di risposta da kerneld al kernel. Se il campo id è zero, non c’è risposta dal kerneld.
Si noti che una nuova struttura propone che si includa il pid del richiedente nell’intestazione di protocollo ("protocol header").

Se è stata richiesta una risposta, lo stato di uscita dell’azione del kerneld verrà inserito nel campo id.

Il campo testo è usato per contenere i parametri dal kernel per l’azione kerneld specificata. Nei messaggi di ritorno, questo campo può contenere l’output dell’azione, per essere usato (se voluto) dal kernel.

Le opzioni sono descritte di seguito:

debug

Con il debugging abilitato si ha la possibilità di vedere lo stato corrente del kerneld e come effettua i suoi compiti. Si noti che si può controllare il debugging, così come ogni altro parametro, con l’utilità kdstat.

keep

L’opzione keep fa ignorare a kerneld tutte le richieste per lo scaricamento dei moduli. Questa opzione può essere utile per sistemi nei quali i moduli non devono essere mai scaricati (per un motivo o per un altro). Questa opzione inibisce la rimozione automatica dei moduli non usati, effettuata da kerneld ogni minuto (o <delay> secondi).

delay=<secondi>

L’opzione delay cambia la durata dell’intervallo nel kerneld per la rimozione dei moduli dai predefiniti 60 secondi al parametro specificato.

type=<tipo messaggio>

Il tipo predefinito -255 significa che il kerneld ascolta tutti i messaggi aventi il tipo minore o uguale a 255. Se è dato un numero positivo, kerneld attende solo quel tipo di messaggio.

kerneld manda i messaggi di errore al servizio syslog LOG_DAEMON.

VEDERE ANCHE

insmod(1), rmmod(1), modprobe(1), depmod(1), syslogd(8)

STORIA

Il supporto del kerneld è stato ispirato da una discussione con Jacques Gelinas <jack [AT] solucorp.ca>