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>