LinuxForum.Fans
Тема

Процесс, который занимает устройство/файл

Автор: Wade 9 сообщений 1549 просмотров
#220814

Добрый день.

Ubuntu 10.10

У меня существует устройство /dev/ttyACM0

C этим устройством работает программа program, т.е. если сделать lsof /dev/ttyACM0, то выведется именно program

В какой то момент устройство перестает работать. Это случается если на него послать команду отличную от текущего протокола. Т.е. если во время работа program из другой консоли отправить echo "aaaa" > /dev/ttyACM0, то устройство перестает работать.

Так вопрос в том как отловить процесс, который отсылает какой то ввод на это устройство не по протоколу.
В бесконечном цикле lsof не получилось выявить процесс. Какие еще существуют варианты?

Либо возможно ли весь ввод на /dev/ttyACM0 логировать где-нибудь? По такому логу я бы смог отловить проблему.

Спасибо.

#220826

ИМХО правильное решение не писать в /dev/ttyACM0 мусор. далее решение зависит от деталей... если нужно запретить писать всем, кроме program, то это делается только правами.
ещё вариант: писать в трубу, а из неё специальный демон будет перегружать в устройство и мониторить корректность данных.

#220829

Fat-Zer, спасибо как избежать понятно. Но сейчас задача состоит все таки в том, чтобы отловить то, что туда пишет.

#220834

Wade, случайно ничего подобного Mobile Partner для подключения к 3G не установлено?

#220842

Lupo Alberto, почти угадали) Там есть скрипты, которые устанавливают связь через gprs, но на первый взгляд они исключают это устройство из списка своего коннекта.
Вот я и пытаюсь узнать, что посылается на устройство, ну или хотя бы каким процессом. Все это крутится на информационном киоске.

#220855

тогда, strace спасёт отца русской демократии.

#220858
Fat-Zer написал:
тогда, strace спасёт отца русской демократии.

Можно, пожалуйста, примерно объяснить как с помощью strace это сделать? Почитав ман, не очень понятно как можно получить нужную мне информацию.

#220864

запускаете: strace <подозреваемый в записи в файл> и смотрите, что он пишет...
чтобы было меньше шума можно добавить -e trace=open,close,read,write

или вы даже подозреваемого не можете определить? я вообще не очень понимаю, что за тёмные дела и в какой тёмной системе вы творите...

#220866
Fat-Zer написал:
запускаете: strace <подозреваемый в записи в файл> и смотрите, что он пишет...
чтобы было меньше шума можно добавить -e trace=open,close,read,write
или вы даже подозреваемого не можете определить?

Подозреваемых целый круг. smile
Конечно, хотелось бы вычислить обращения к файлу в который пишут. Но попробую, как вы написали. Спасибо

Войдите или зарегистрируйтесь, чтобы ответить.