Dove è finita la directory / proc in Mountain Lion?


2

Trovavo la posizione dei video flash memorizzati nella cache lsof | grep Flash, il risultato è qualcosa del genere

Google 38571 lamnk 74u REG 1,2 156826302 37061768 /Users/lamnk/Library/Application Support/Google/Chrome/Default/Pepper Data/Shockwave Flash/.com.google.Chrome.KNc63e

Pepper Flash Player ha eliminato i file in modo da non poterli vedere o copiarli, ma il processo 38571mantiene comunque aperti i file. Normalmente posso salvare il video flash memorizzato nella cache copiando /proc/38571/fd/74in un'altra posizione. Comunque su Mountain Lion scopro che / proc non c'è più!

È possibile ottenere un altro processo per utilizzare questi handle di file e leggere i file esistenti ma privi di una struttura di handle / inode del filesystem corretta? Devo configurare / proc in 10.8 se gli strumenti nativi non funzioneranno?

Risposte:


8

/ proc non è mai stato incluso in nessuna versione di OS X (sebbene Amit Singh abbia scritto una versione di procfs per OS X ). Dovresti, tuttavia, essere in grado di farlo tramite /.vol invece. Innanzitutto, trova il numero del dispositivo per il volume su cui vive con qualcosa del genere stat -f%d /Users/lamnk(supponendo che la tua Libreria non sia reindirizzata in modo strano a un altro volume). Quindi ottieni il suo ID file (aka numero di inode) dal comando lsof (370617680 nell'esempio che hai dato). Puoi quindi raggiungerlo come /.vol/volumeid/fileid:

$ stat -f%d /Users/lamnk
234821716
$ lsof -c "Google Chrome" | grep "Pepper Data"
Google 38571 lamnk 74u REG 1,2 156826302 37061768 /Users/lamnk/Library/Application Support/Google/Chrome/Default/Pepper Data/Shockwave Flash/.com.google.Chrome.KNc63e
$ cp /.vol/234821716/37061768 rawfile

EDIT: Apparentemente /.vol non trova file non collegati ma aperti, anche se esistono ancora sul disco. Sfortunatamente, questo significa che questo trucco non funzionerà qui. Potresti essere in grado di farlo con i procfs di Amit Singh, ma non l'ho usato, quindi non so se farà lo stesso.


Grazie, ma non vedo alcuna volumeiddirectory all'interno .vol. .volè vuoto. Ho un solo volume per tutto.
Lamnk,

/.vol non ti consente di elencarne i contenuti; è necessario specificare l'ID volume e l' ID file per vedere qualsiasi cosa.
Gordon Davisson,

Non riesco ancora a copiare il file con il percorso /.vol/volumeid/fileid. cpdice che non esiste tale file. Puoi vedere l'output qui: gist.github.com/4146193 . Grazie!
Lamnk,

@Lamnk: ho provato un po ', e apparentemente /.vol non troverà file non collegati, anche se sono ancora aperti (e quindi esistono ancora sul disco), quindi non funzionerà per questo. Scusate ...
Gordon Davisson il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.