<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
  <!ENTITY debian  "<productname>Debian GNU/Linux</productname>">
  <!ENTITY docbook "<productname>DocBook</productname>">
  <!ENTITY sgml    "<abbrev>SGML</abbrev>">
]>

<!-- Stolen from manual page for docbook-to-man, DocBook source file
     (C) 1999 W. Borgert debacle@debian.org

     $Id: docbook-to-man.sgml,v 1.8 2002/04/27 15:28:02 debacle Exp $ -->

<refentry>
  <refentryinfo>
    <address>
      <email>rusty@rustcorp.com.au</email>
    </address>
    <author>
      <firstname>Rusty</firstname>
      <surname>Russell</surname>
    </author>
    <date>2002-12-27</date>
  </refentryinfo>
  <refmeta>
    <refentrytitle>rmmod</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>
  <refnamediv>
    <refname>rmmod</refname> <refpurpose>simple program to remove a module from the Linux Kernel</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>rmmod</command>
      <arg><option>-f</option></arg>
      <arg><option>-w</option></arg>
      <arg><option>-s</option></arg>
      <arg><option>-v</option></arg>
      <arg><replaceable>modulename</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>DESCRIPTION</title>

    <para><command>rmmod</command> is a trivial program to remove a
      module from the kernel.  Most users will want to use
      <citerefentry>
	<refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry> instead, with the <option>-r</option> option.
    </para>
  </refsect1>
  <refsect1>
    <title>OPTIONS</title>
    <variablelist>
      <varlistentry>
        <term><option>-v</option> <option>--verbose</option>
        </term>
        <listitem>
          <para>
	    Print messages about what the program is doing.
	    Usually <command>rmmod</command> only prints messages
	    if something goes wrong.
	  </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-f</option> <option>--force</option>
        </term>
        <listitem>
          <para>
	    This option can be extremely dangerous: it has no effect unless
	    CONFIG_MODULE_FORCE_UNLOAD was set when the kernel was
	    compiled.  With this option, you can remove modules which are
	    being used, or which are not designed to be removed, or have
	    been marked as unsafe (see <citerefentry>
	<refentrytitle>lsmod</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>).
	  </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-w</option> <option>--wait</option>
        </term>
        <listitem>
          <para>
	    Normally, <command>rmmod</command> will refuse to
	    unload modules which are in use.  With this option,
	    <command>rmmod</command> will isolate the module, and
	    wait until the module is no longer used.  Noone new
	    will be able to use the module, but it's up to you to
	    make sure the current users eventually finish with it.
	    See <citerefentry>
	<refentrytitle>lsmod</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>) for information on usage counts.
	  </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-s</option> <option>--syslog</option>
        </term>
        <listitem>
          <para>
	    Send errors to the syslog, instead of standard error.
	  </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-V</option> <option>--version</option>
        </term>
        <listitem>
          <para>
	    Show version of program, and exit.  See below for caveats
	    when run on older kernels.
	  </para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
  <refsect1>
    <title>BACKWARDS COMPATIBILITY</title>

    <para>
      This version of <command>rmmod</command> is for kernels
      <literal>2.5.48</literal> and above.  If it detects a kernel
      with support for old-style modules (for which much of the work
      was done in userspace), it will attempt to run
      <command>rmmod.old</command> in its place, so it is completely
      transparent to the user.
    </para>
  </refsect1>
  <refsect1>
    <title>COPYRIGHT</title>
    <para>
      This manual page Copyright 2002, Rusty Russell, IBM Corporation.
    </para>
  </refsect1>
  <refsect1>
    <title>SEE ALSO</title>

    <para>
      <citerefentry>
	<refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>insmod</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>lsmod</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>rmmod.old</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>
    </para>
  </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
