从question的答案可以看出,/proc/modules
的第五个字段是模块的加载状态,可以是Live
或Loading
或Unloading
。但是,在我的Ubuntu 14.04
系统和其他一些系统中,我只能找到此字段的值Live
。这个领域也可以有其他价值吗?
答案 0 :(得分:3)
此字段有3种可能的状态:
Live
Loading
Unloading
您可以在kernel/module.c文件中的内核源代码中看到这一点:
/* Informative for users. */
seq_printf(m, " %s",
mod->state == MODULE_STATE_GOING ? "Unloading" :
mod->state == MODULE_STATE_COMING ? "Loading" :
"Live");
mod->state
的说明可在enum module_state
include/linux/module.h中找到:
enum module_state {
MODULE_STATE_LIVE, /* Normal state. */
MODULE_STATE_COMING, /* Full formed, running module_init. */
MODULE_STATE_GOING, /* Going away. */
MODULE_STATE_UNFORMED, /* Still setting it up. */
};
答案 1 :(得分:1)
该字段有可能具有其他值,但这些是过渡状态,您将很难从内核外部发现它们。例如,Loading
状态仅在模块完全加载到内存中时才会持续,直到其初始化完成。通常,这只需要几微秒。