Eject
allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ
or ZIP disk) to be ejected under software control. The command can
also control some multi-disc CD-ROM changers, the auto-eject feature
supported by some devices, and close the disc tray of some CD-ROM
drives.
The device corresponding to <name> is ejected. The name can be a
device file or mount point, either a full path or with the leading
"/dev" or "/mnt" omitted. If no name is specified, the default name
"cdrom" is used.
There are four different methods of ejecting, depending on whether the
device is a CD-ROM, SCSI device, removable floppy, or tape. By default
eject tries all four methods in order until it succeeds.
If the device is currently mounted, it is unmounted before ejecting.
Eject
only works with devices that support one or more of the four methods
of ejecting. This includes most CD-ROM drives (IDE, SCSI, and
proprietary), some SCSI tape drives, JAZ drives, ZIP drives (parallel
port, SCSI, and IDE versions), and LS120 removable floppies. Users
have also reported success with floppy drives on Sun SPARC and Apple
Macintosh systems. If
eject
does not work, it is most likely a limitation of the kernel driver
for the device and not the
eject
program itself.
The -r, -s, -f, and -q options allow controlling which methods are
used to eject. More than one method can be specified. If none of these
options are specified, it tries all four (this works fine in most
cases).
Eject
may not always be able to determine if the device is mounted (e.g. if
it has several names). If the device name is a symbolic link,
eject
will follow the link and use the device that it points to.
If
eject
determines that the device can have multiple partitions, it will
attempt to unmount all mounted partitions of the device before
ejecting. If an unmount fails, the program will not attempt to eject
the media.
You can eject an audio CD. Some CD-ROM drives will refuse to open the
tray if the drive is empty. Some devices do not support the tray close
command.
If the auto-eject feature is enabled, then the drive will always be
ejected after running this command. Not all Linux kernel CD-ROM
drivers support the auto-eject mode. There is no way to find out the
state of the auto-eject mode.
You need appropriate privileges to access the device files. Running as
root or setuid root is required to eject some devices (e.g. SCSI
devices).
The heuristic used to find a device, given a name, is as follows. If
the name ends in a trailing slash, it is removed (this is to support
filenames generated using shell file name completion). If the name
starts with '.' or '/', it tries to open it as a device file or mount
point. If that fails, it tries prepending '/dev/', '/mnt/',
'/dev/rdsk/', '/dev/dsk/', and finally './' to the name, until a
device file or mount point is found that can be opened. The program
checks /etc/mtab for mounted devices. If that fails, it also checks
/etc/fstab for mount points of currently unmounted devices.
Creating symbolic links such as /dev/cdrom or /dev/zip is recommended
so that
eject
can determine the appropriate devices using easily remembered names.
To save typing you can create a shell alias for the eject options that
work for your particular setup.