в самом начале треда, в п.9 написано:
Originally Posted by
OlegI
9) настройка автозапуска
...
e) файл pre-shutdown, можно вставить остановку процессов, открывших файлы на диске и перемонтировку его на чтение:
lsof -t /dev/discs/disc0/part1 | xargs kill -9
mount -t ext3 -o remount,ro /dev/discs/disc0/part1
...
Если следовать мануалу, то этот самый lsof находится как раз на устройстве /dev/discs/disc0/part1, и его идентификатор в том числе будет передан kill'у.
Вопрос - когда это будет сделано, после того, как lsof выдаст список процессов на устройстве или во время выдачи списка? Во втором случае рискуем прибить процесс lsof до того, как будут погашены все процессы на USB девайсе.
Вот, что у меня выводит lsof /dev/discs/disc0/part1, когда нет запущенных процессов с USB девайса:
Code:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
lsof 11832 brain-ripper txt REG 8,1 182712 47124 /opt/sbin/lsof
lsof 11832 brain-ripper mem REG 8,1 27104 16386 /opt/lib/ld-uClibc-0.9.28.so
lsof 11832 brain-ripper mem REG 8,1 68368 16397 /opt/lib/libgcc_s.so.1
lsof 11832 brain-ripper mem REG 8,1 698368 16429 /opt/lib/libuClibc-0.9.28.so
lsof 11833 brain-ripper txt REG 8,1 182712 47124 /opt/sbin/lsof
lsof 11833 brain-ripper mem REG 8,1 27104 16386 /opt/lib/ld-uClibc-0.9.28.so
lsof 11833 brain-ripper mem REG 8,1 68368 16397 /opt/lib/libgcc_s.so.1
lsof 11833 brain-ripper mem REG 8,1 698368 16429 /opt/lib/libuClibc-0.9.28.so