How to detect USB drives that has been inserted/removed?

Hi Everybody,

I am new to Linux. I have to write a C library which has to detect USB device such as Mass Storage devices that has been inserted/removed. And it has to notify to a Java application with Mass Storage Device's Label, Device ID. And as well as once it has been identified, it has to mount to a location and it has to send the mounted location to Java App.

I have tried using iNotify and by reading /proc/partitions. But i didnt succeed. Because iNotify is not giving notification for /proc/partitions as well as i m unable to read /proc/partitions through File IO in C.

Or Is there any built-in library which we can register for USB notification?

Please provide me suggestion to accomplish this task.

Thanks and Regards,

Check libusb

Mitch Frazier's picture

Libusb is here:


Here's a Java interface to it:


Mitch Frazier is an Associate Editor for Linux Journal.