ベストアンサー1
一時的に保存されたすべてのFlashビデオのリストを取得するには、このBashスクリプトを使用します。
#!/usr/bin/env bash
for flashpid in $(pgrep -f flashplayer.so); do
cd "/proc/$flashpid/fd"
for video in $(file * | grep '/tmp/Flash' | sed 's/\(^[0-9]*\).*/\1/g'); do
echo "/proc/$flashpid/fd/$video"
done
done
たとえば、ビデオを表示するには、次のようにスクリプトを実行可能としてマークして実行します。
flashget.sh | xargs mplayer
説明する
Flash 10.1以降、/tmp
すべてのファイルシステムアイテムはFlash Playerで開くと削除されます。ただし、ハードリンクが存在しなくなった場合にのみカーネルがファイルを削除するため、ファイル自体はまだ存在します。 Flashプラグインだけがファイル/ビデオの場所を知っています。幸いなことに、カーネルはどのプロセスがどのファイルハンドルを開いているかを知らせることができます。したがって、これらのファイルへのハードリンクはまだあります/proc/$PID/fd
。