2012-05-29 15 views
7

In Linux, utilizzo lsof per verificare che il file sia aperto da quale processo. Ho un dispositivo Android, ma nessun comando lsof. È possibile trovare quale processo apre il file specifico?come controllare il file aperto senza lsof

Lo userò per verificare che MediaPlayer tenga premuto un fd, ma dovrebbe essere chiuso.

+2

'lsof' viene aggiunto al [ICS] (http://androidxref.com/source/history/ system/core/toolbox/Android.mk), commit '8b9b105bc7bf6428591d55462b3e727ba7504b29'. Sollevalo dalla sorgente, estrai i bit necessari e creandolo usando NDK se non esiste nelle versioni che hai scelto come target. – Jens

risposta

1

Installa busybox, ha un comando lsof. lsof

+0

Ho usato la casella occupato ma sto ancora ottenendo "????" come posso ottenere i valori è un comando diverso per caso? –

+0

È necessario l'accesso come root. –

+0

im già sull'accesso root, il comando viene eseguito e distribuisci una tabella e mi aspetto valori, ma tutto quello che sto ottenendo sono punti interrogativi "????" anyx thanx –

11

povero è di eseguire

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

Ancora, è necessario essere root.

+5

'ls -l/proc/*/fd' per vedere tutti i file aperti come lsof di default. –

0

Grazie a mike jones ea Joqn per la mancia con lsof del povero. Ho usato nelle seguenti sul busybox (NAS Synology) per elencare le directory fd raggruppati sotto ogni processo:

for p in [0-9]*; do ls -l /proc/$p/fd ;done