Я бы решил эту проблему, добавив прослушиватель в ваше приложение и запустив его в фоновом режиме.
Если вы посмотрите на javax.print.PrintService; ссылка на найденную документацию: здесь вы найдете метод addPrintServiceAttributeListener, который позволяет зарегистрировать прослушиватель для событий печати.
В Linux вы можете указать системе выполнить повторное сканирование отдельного порта SATA. Чтобы выполнить повторное сканирование порта SATA3, просто выполните:
echo "- - -" | sudo tee -a /sys/class/scsi_host/host2/scan
Система просканирует диск и добавит записи в / dev / для диска и его отдельных разделов (например, / dev / sdb, / dev / sdb1, / dev / sdb2). Ubuntu автоматически смонтирует любые монтируемые разделы в / media и поместит значок на рабочий стол.
Это скрипт, который может помочь вам при сканировании доски.
#!/bin/bash
export SCAN_TEMP=$(mktemp -d)
ls /dev/sd? > ${SCAN_TEMP}/before.txt
for i in /sys/class/scsi_host/host*/scan
do
echo "- - -" >> $i
done
ls /dev/sd? > ${SCAN_TEMP}/after.txt
for i in $(diff ${SCAN_TEMP}/before.txt ${SCAN_TEMP}/after.txt | grep \> | awk -F/ '{print $NF}'); do
echo Added /dev/$i:
/sbin/sfdisk -uM -l /dev/$i | grep -E "^/dev/$i" | awk '{print " "$1" "$4" MiB"}'
done
rm -rf ${SCAN_TEMP}
Источник: http://www.makestuff.eu/wordpress/sata-hotplug-in-ubuntu/
Я использовал usbmount в Debian для этой цели. Он изменяет правила udev, поэтому они вызывают скрипт usbmount. Он не поддерживается, но довольно прост в настройке. Проблема заключается в том, что если никто не отключил диск перед отключением, вам необходимо смонтировать его с опцией «sync», что делает его довольно медленным.