как проверить открытый файл без lsof

В Linux я использую lsof, чтобы проверить, какой файл открывается. У меня есть устройство Android, но нет команды lsof. Можно ли найти какой процесс открыть конкретный файл?

Я буду использовать его для проверки того, что MediaPlayer удерживает fd, но он должен быть закрыт.

 Jens29 мая 2012 г., 12:14
& APOS; Lsof & APOS; добавлен вICS, совершить8b9b105bc7bf6428591d55462b3e727ba7504b29, Поднимите его из источника, выньте необходимые биты и постройте его, используя NDK, если он не существует в версиях, на которые вы ориентируетесь.

Ответы на вопрос(3)

Спасибо Майк Джонс и Джокн за чаевые с lsof бедняков. Я использовал его в busybox (synas nas) для вывода списка каталогов fd, сгруппированных под каждым процессом:

  for p in [0-9]*; do ls -l /proc/$p/fd ;done 
 12 дек. 2018 г., 14:30
Благодарю. Похоже, что это должно быть запущено в папке / proc - может быть, это должно быть в более общемfor p in /proc/[0-9]*; do ls -l $p/fd; done?
Решение Вопроса

Установите busybox, он имеет команду lsof.

 19 дек. 2012 г., 17:59
Вам нужен root-доступ.
 24 мар. 2014 г., 09:42
Для большинства архитектур здесь есть статически связанные двоичные файлы busybox:busybox.net/downloads/binaries/latest
 19 дек. 2012 г., 17:44
Я использовал занятую коробку, но все еще получаю "????" Как я могу получить значения это другая команда случайно?
 25 февр. 2013 г., 14:14
Я установил Busybox на свой телефон, но он не предоставляет мне команду lsof :-( Возможно, это зависит от телефона, но я не могу найти его в списке апплетов.
 19 дек. 2012 г., 18:02
я уже на root-доступе, команда запускается и выдает таблицу и я ожидаю значения, но все, что я получаю, это вопросительные знаки & quot; ???? & quot; любые идеи, спасибо

Бедный человек должен казнить

ls -l  /proc/[process id]/fd

Тем не менее, вы должны быть root.

 06 авг. 2018 г., 14:54
это спасло мне жизнь!
 22 окт. 2013 г., 10:18
ls -l /proc/*/fd чтобы увидеть все открытые файлы, как это делает lsof по умолчанию.

Ваш ответ на вопрос