table of contents
KERNELD(8) | Rozszerzenia Linuksa | KERNELD(8) |
NAZWA¶
kerneld - wykonuje działanie jądra w przestrzeni użytkownika (jak np. ładowanie modułów na życzenie)
SKŁADNIA¶
kerneld [ debug ] [ keep ] [ delay=<sekund> ] [ type=<numer wiadomości> ]
OPIS¶
Pomijając automatyczne usuwanie nie używanych modułów, kerneld wykonuje też specyficzne zadania jądra w przestrzeni użytkownika poprzez reagowanie na żądania z jądra docierające doń z kolejki komunikatów IPC. Dostęp do tej kolejki może być uzyskany z poziomu przestrzeni użytkownika za pomocą otwarcia kolejki w następujący sposób:
qid = msgget(IPC_PRIVATE, 0600 | IPC_KERNELD);
Specyficzne zadanie jest określone typem wiadomości takim jak przedstawiono w <linux/kerneld.h>.
Struktura wiadomości kerneld jest następująca:
struct kerneld_msg { long mtype; long id; char text[1]; };gdzie pole id jest używane jako numer widomości zwrotnej od kerneld z powrotem do jądra. Jeśli pole id ma wartość równą zero, to nie będzie żadnej odpowiedzi od kerneld.
(Zauważ, że nowa struktura jest tak ułożona, iż będzie zawierać pid żądającego w nagłówku protokołu.)
Jeśli zażądano odpowiedzi to w polu id będzie zapamiętany kod powrotu z działania kerneld.
Pole text jest używane by jądro mogło przekazać parametry do określonego działania wykonywanego przez kerneld. W wiadomościach zwrotnych to pole może zawierać wynik działania, będącego użytym (jeśli jest taka potrzeba) przez jądro.
Możliwe są następujące opcje:
- debug
- Z włączoną opcją debug (śledzenia) będziesz mógł obserwować obecny status wykonywanych przez kerneld zadań. Zauważ, że możesz kontrolować śledzenie, równie dobrze jak wszystkie inne parametry dzięki narzędziu kdstat.
- keep
- Opcja keep (zatrzymaj) powoduje, że kerneld ignoruje wszystkie żądania usunięcia modułów. Ta opcja może być przydatna w systemach, w których moduły nigdy nie powinny być usuwane (z jakichś tam powodów). Ta opcja powstrzymuje też przed procedurą automatycznego usuwania nieużywanych modułów, do której kerneld przystępuje co minutę (lub co <delay> sekund).
- delay=<sekund>
- Opcja delay zmienia wartość czasu oczekiwania kerneld na procedurę automatycznego usuwania nieużywanych modułów z domyślnych 60-u sekund na dowolną podaną wartość.
- type=<typ wiadomości>
- Domyślny typ to -255, co oznacza, że kerneld będzie nasłuchiwał wszystkich wiadomości, których typ jest mniejszy bądź równy 255. Jeśli dana jest wartość dodatnia to kerneld będzie oczekiwał tylko wiadomości podanego typu (podanej wartości).
kerneld wysyła wiadomości o błędach wywołując syslog z argumentem ułatwienia (facility) LOG_DAEMON.
ZOBACZ TAKŻE¶
HISTORIA¶
Pomoc do kerneld była zainspirowana dyskusjami z Jacques Gelinas <jack@solucorp.qc.ca>
14 Maj, 1995 | Linux |