学习Linux命令 - rmmod

名称

rmmod - 卸载可加载模块

概要

rmmod [-aehrsvV]模块...

描述

rmmod从正在运行的内核卸载可加载模块。

rmmod试图从内核中卸载一组模块,限制它们没有被使用,并且它们没有被其他模块引用。

如果在命令行上命名了多个模块,则模块将按给定顺序被删除。 这支持堆叠模块的卸载。

使用选项' -r ',将尝试递归移除模块。 这意味着,如果堆栈中的顶层模块在命令行中被命名,则该模块使用的所有模块也将被删除(如果可能的话)。

选项

-a , - 全部

自动清理:将未使用的模块标记为“待清理”,并删除已标记的模块。 如果自上次autoclean以来未使用模块,则模块将保持标记状态。 这两个过程避免了删除暂时未使用的模块。

-e ,-- persist

保存指定模块的持久数据,而不卸载任何模块。 如果没有指定模块名称,则会为具有持久数据的所有模块保存数据。 如果内核和modutils都支持持久数据并且/ proc / ksyms包含一个条目,则数据仅被保存
__insmod_ 模块名 _P persistent_filename

-h , - 帮助

显示选项摘要并立即退出。

-r , - 堆栈

删除模块堆栈。

-s ,-- syslog

将所有内容输出到syslog (3)而不是终端。

-v ,-- verbose

详细。

-V ,-- version

打印modutils的版本。

持久数据

如果模块包含持久数据(请参见insmod (8)和modules.conf (5)),则删除模块始终将持久数据写入__insmod _P符号条目中的文件名。 您还可以随时通过rmmod -e保存持久性数据,这不会卸载任何模块。

当持久数据写入文件时,它前面有生成的注释行,
#% kernel_version时间戳
生成的注释行以'#%'开头,所有生成的注释都从现有文件中剥离,其他注释将被保留。 保存的数据值被写入文件,保留现有的评论和分配顺序。 新值添加在文件的末尾。 如果文件包含模块中不存在的值,则会保留这些值,但在生成的注释警告之前保留它们未被使用。 后一种操作允许用户在不丢失持久数据的情况下在内核之间切换并且不会收到任何错误消息。

注意:仅当一行上的第一个非空格字符是'#'时才支持注释。 任何不以'#'开头的非空行都是模块选项,每行一个。 选项行删除了前导空格,其余行将作为选项传递给insmod,包括任何尾随字符。