最近升级到Flash 10(或者这是一个发行版的选择),我和许多人无法再从/tmp中复制Flash视频。然而,我已经找到了以下的解决方法:
首先,执行:
注意:您可以在此处看到问题....../tmp文件已释放文件指针。
但是,您可以使用以下方式使用cp命令获取文件:
首先,执行:
lsof | grep Flash
应该返回如下输出:
plugin-co 8935 richard 16w REG 8,1 4139180 8220 /tmp/FlashXXq4KyOZ (deleted)
注意:您可以在此处看到问题....../tmp文件已释放文件指针。
但是,您可以使用以下方式使用cp命令获取文件:
cp /proc/#/fd/# video.flv
第一个#号是进程ID (8935),第二个#号是接下来的数字(从16w中取得的16)。
目前,这个方法能够实现,但需要手动操作几个步骤。为了自动化这个过程,我想我可以提取PID和fd数,并将它们动态地插入到cp命令中。
我的问题是,如何将相应的字段提取到变量中?我知道你可以使用 $1等来获取输入参数,但是如何检索输出呢?
注意:我可以使用 pidof plugin-container
来查找PID,但我仍然需要另一个数字(因为它指示保存哪个特定的 Flash 视频)。
-F
选项。在输出中迭代,将“p”和“f”条目保存在找到它们时,当您找到正在寻找的“n”条目时,您就拥有了所需的内容。如果在找到您正在寻找的“n”之前找到新的“p”条目,则删除先前的条目并继续。顺便说一下,在lsof
发行版中包含了示例AWK和Perl脚本。 - Dennis Williamson