udev no existe en OS X. Como alternativa, puede usar el comando diskutil activity
para monitorear continuamente los discos que se montan o expulsan. La página de manual diskutil
dice
Muestra continuamente la actividad de manipulación del disco en todo el sistema según lo informado por el marco del Arbitraje de Disco hasta que se interrumpa con una señal (por ejemplo, escribiendo Control-C). Esto puede ser útil para observar la actividad de todo el sistema de los discos en línea o expulsados, los volúmenes en los discos que se montan o desmontan, los volúmenes que se renombran, etc.
Al ejecutar el comando anterior y conectar (luego quitar) mi unidad USB WD Elements, obtengo esta salida, que se puede analizar (incluso si la página de manual dice que no) para encontrar, digamos, DiskMountApproval
y DiskDisappeared
para obtener el nombre del volumen y cuándo se agregó y eliminó el disco.
***DiskPeek ('disk2') Time=20120331-11:56:22.7716
***DiskPeek ('disk2s1') Time=20120331-11:56:23.0801
***DiskAppeared ('disk2', DAVolumePath = '<null>', DAVolumeKind = '<null>', DAVolumeName = '<null>') Time=20120331-11:56:23.0810
***DiskMountApproval ('disk2s1', DAVolumePath = '<null>', DAVolumeKind = 'hfs', DAVolumeName = 'Elements') Comment=Approving Time=20120331-11:56:23.0820
***DiskAppeared ('disk2s1', DAVolumePath = 'file://localhost/Volumes/Elements/', DAVolumeKind = 'hfs', DAVolumeName = 'Elements') Time=20120331-11:56:23.2574
***DAIdle (no DADiskRef) Time=20120331-11:56:23.2576
***DiskUnmountApproval ('disk2s1', DAVolumePath = 'file://localhost/Volumes/Elements/', DAVolumeKind = 'hfs', DAVolumeName = 'Elements') Comment=Approving Time=20120331-11:56:44.2338
***DiskDescriptionChanged ('disk2s1', DAVolumePath = '<null>') Time=20120331-11:56:44.4515
***DAIdle (no DADiskRef) Time=20120331-11:56:44.4518
***DiskEjectApproval ('disk2') Comment=Approving Time=20120331-11:56:44.4542
***DiskDisappeared ('disk2', DAVolumePath = '<null>', DAVolumeKind = '<null>', DAVolumeName = '<null>') Time=20120331-11:56:50.1964
***DiskDisappeared ('disk2s1', DAVolumePath = '<null>', DAVolumeKind = 'hfs', DAVolumeName = 'Elements') Time=20120331-11:56:50.1970
***DAIdle (no DADiskRef) Time=20120331-11:56:50.1972