Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

kextunload(8) [osx man page]

KEXTUNLOAD(8)						    BSD System Manager's Manual 					     KEXTUNLOAD(8)

NAME
kextunload -- terminate driver I/O Kit driver instances and unload kernel extensions (kexts) SYNOPSIS
kextunload [options] [--] [kext ...] DESCRIPTION
The kextunload program is used to terminate and unregister I/O Kit objects associated with a kernel extension (kext) and to unload the code and personalities for that kext. kextunload must run with superuser privileges. If another loaded kext has a dependency on the kext being unloaded, the unload will fail. You can determine whether a kext has dependents using the kextstat(8) tool. kextunload is a formal interface for unloading kexts in the Darwin OS and in Mac OS X. Software and installers can rely on its presence and invoke it in order to unload kexts. Note that long options are present as of Mac OS X 10.6 (Snow Leopard). The arguments and options are: kext Unload the loaded kext whose bundle identifier matches the CFBundleIdentifier of kext. All instances of IOService subclasses defined by the loaded kext and in the IOService plane of the I/O Registry are terminated; the kext is checked to make sure no instances of its libkern C++ classes remain; the kext's C++ static destructores and module stop routine are invoked; then the kext's executable and IOKitPersonalities are unloaded from the kernel. Failure at any stage prevents kext unload. -b identifier, -bundle-id identifier Unload executable and IOKitPersonalities (as described immediately above) for the kext whose CFBundleIdentifier is identifier. -c classname, -class classname Terminate all instances of class classname that are in the IOService plane of the I/O Registry, if possible, but do not unload the defining kext or its IOKitPersonalities. New load requests for devices that were driven by these terminated instances may result in the same class being instantiated at any time. -h, -help Print a help message describing each option flag and exit with a success result, regardless of any other options on the command line. -m identifier Same as -b (remains for backward compatibility). -p, -personalities-only Terminate services and remove personalities only; do not unload kexts. -q, -quiet Quiet mode; print no informational or error messages. -v [0-6 | 0x####], -verbose [0-6 | 0x####] Verbose mode; print information about program operation. Higher levels of verbosity include all lower levels. By default kextunload prints only warnings and errors. You can specify a level from 0-6, or a hexadecimal log specification (as described in kext_logging(8)). The levels of verbose output are: 0 Print only errors (that is, suppress warnings); see also -quiet. 1 (or none) Print basic information about program operation. 2 Prints information about unload stages. 3 Prints information about removal of personalities. 4 Prints information about module stop functions and C++ class destruction. 5 Prints detailed information internal operations such as bookkeping. 6 Identical to level 5 for kextunload. Unlike in other kext tools, the -verbose flag in kextunload applies to all kexts (that is, it turns on hexadecimal bit 0x8 by default). See kext_logging(8) for more information on verbose logging. DIAGNOSTICS
kextunload exits with a zero status upon success, or prints an error message and exits with a nonzero status upon failure. BUGS
Many single-letter options are inconsistent in meaning with (or directly contradictory to) the same letter options in other kext tools. SEE ALSO
kextcache(8), kextd(8), kextload(8), kextstat(8), kext_logging(8) Darwin March 6, 2009 Darwin

Check Out this Related Man Page

KEXTLOAD(8)						    BSD System Manager's Manual 					       KEXTLOAD(8)

NAME
kextload -- load kernel extensions (kexts) into the kernel SYNOPSIS
kextload [options] [--] [kext ...] DESCRIPTION
The kextload program is used to explicitly load kernel extensions (kexts). For most kexts, kextload must run as the superuser (root). Kexts installed under /System/ with an OSBundleAllowUserLoad property set to true may be loaded via kextload by non-root users. Notice: On Mac OS X 10.6 (Snow Leopard), the developer functionality of kextload has moved to the new program kextutil(8); all developer- related options have been removed from kextload and are no longer recognized. On Mac OS X 10.6 (Snow Leopard), kextload simply forwards a load request to kextd(8), which performs all communication with the kernel. kextload is a formal interface for kext loading in all versions of Darwin OS and Mac OS X. Software and installers can rely on its presence and invoke it in order to load kexts. Note that long options are present as of Mac OS X 10.6 (Snow Leopard). Mac OS X 10.6 (Snow Leopard) introduces C functions for loading kexts: KextManagerLoadKextWithIdentifier() and KextManagerLoadKextWithURL(), which are described in Apple's developer documentation. ARGUMENTS AND OPTIONS
kext The pathname of a kext bundle to load. The kext's plugins are available for dependency resolution. Kexts can also be specified by CFBundleIdentifier with the -bundle-id option. -b identifier, -bundle-id identifier Look up the kext whose CFBundleIdentifier is identifier within the set of known kexts and load it. The kext of the highest CFBundleVersion with the given identifier is used; in the case of version ties, the last such kext specified on the command line is used. See the -dependency and -repository options for more information. -d kext, -dependency kext Add kext and its plugins to the set of known kexts for resolving dependencies. This is useful for adding a single kext from a directory while excluding the others. See the -repository option for more information. -h, -help Print a help message describing each option flag and exit with a success result, regardless of any other options on the command line. -q, -quiet Quiet mode; print no informational or error messages. -r directory, -repository directory Use directory as a repository of kexts. This adds to the set of known kexts for resolving dependencies or looking up by CFBundleI- dentifier when using the -bundle-id option. This is not recursive; only kexts directly within the directory, and their plugins, are scanned. See also the -dependency option. -v [0-6 | 0x####], -verbose [0-6 | 0x####] Verbose mode; print information about program operation. Higher levels of verbosity include all lower levels. You can specify a level from 0-6, or a bitmask of flags as a hexadecimal number prefixed with 0x (as described in kext_logging(8)). Because kextload messages kextd(8), to perform the actual work of loading, the decimal levels 1-6 generally have little effect. You may wish to use kextutil(8) if you want verbose output about the kext loading operation. -- End of all options. Only kext names follow. EXAMPLES
To load a kext, run kextload and supply a kext bundle name; no options are required: kextload TabletDriver.kext Alternatively, you can use the -bundle-id (-b) option to specify a kext by its CFBundleIdentifier: kextload -bundle-id com.mycompany.driver.TabletDriver With no additional options kextload looks in the extensions directories (/System/Library/Extensions/ and /Library/Extensions/) for a kext with the given CFBundleIdentifier. Adding repository directories with the -repository option or individual kexts with the -dependency option expands the set of kexts that kextload looks among for dependency resolution and for loading by bundle identifier: kextload -repository /Applications/MyApp.app/Contents/Resources TabletDriver.kext FILES
/System/Library/Extensions/ The standard system repository of kernel extensions /Library/Extensions/ The standard repository of non Apple kernel extensions DIAGNOSTICS
kextload exits with a zero status if all kexts specified load successfully (or are already loaded). If any kext fails to load, kextload prints an error message for that kext, continues trying to load any remaining kexts, then exits with a nonzero status. For a kext to be loadable, it must be valid, authenticated, and all dependencies of the kext must be available and loadable. A valid kext has a well formed bundle, info dictionary, and an executable built for the running kernel's architecture. An authentic kext's component files, not including plugins, are owned by root:wheel, with permissions nonwritable by group and other. If your kext fails to load, try using kextutil(8) to examine the kext for problems. SEE ALSO
kextcache(8), kextd(8), kextstat(8), kextunload(8), kextutil(8), kext_logging(8) Darwin November 14, 2012 Darwin
Man Page