$ strace eject [...] stat64("/dev/hdc", {st_mode=S_IFBLK|0660, st_rdev=makedev(22, 0), ...}) = 0 close(3) = 0 munmap(0xb7f77000, 4096) = 0 stat64("/dev/hdc", {st_mode=S_IFBLK|0660, st_rdev=makedev(22, 0), ...}) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e27928) = 3777 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 3777 --- SIGCHLD (Child exited) @ 0 (0) --- open("/etc/mtab", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=674, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f77000 read(3, "/dev/sda2 / auto rw 0 0\nproc /pr"..., 4096) = 674 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f77000, 4096) = 0 open("/dev/hdc", O_RDONLY|O_NONBLOCK) = 3 ioctl(3, CDROMEJECT, 0x804d8b0) = -1 EIO (Input/output error) ioctl(3, SG_GET_VERSION_NUM, 0xbfc8c150) = 0 ioctl(3, SG_IO, 0xbfc8c0c4) = -1 EPERM (Operation not permitted) ioctl(3, FDEJECT, 0x804d8b0) = -1 EINVAL (Invalid argument) ioctl(3, MGSL_IOCGPARAMS or MTIOCTOP or SNDCTL_MIDI_MPUMODE, 0xbfc8c124) = -1 EINVAL (Invalid argument) write(2, "eject: unable to eject, last err"..., 53eject: unable to eject, last error: Invalid argument ) = 53 exit_group(1) = ? Process 3776 detached