MacOS 中 webdavfs_agent 不可见的大型临时文件

问题描述

MacOS 10.14.6,启动盘为 apfs 卷:

我在 shell 中使用 cp 将 4GB 大文件从外部 HD 复制到安装的 WebDAV 存储。 引导盘上的剩余空间约为 3 GB。复制失败,“设备上没有剩余空间”,实际上启动盘只有几 MB,同时 MacOS 对话框在无法再创建交换空间时触发(要求关闭应用程序)。

怀疑来自 webdav 复制的临时文件,但未找到。只有当 webdavfs_agent 进程被杀死 -9 时才会释放磁盘空间。

在启动盘上使用更多空间再试一次,它会启动 webdav_agent:

username         16856   3.5  0.0  4353692   8344   ??  Ss    6:19pm   0:15.35 webdavfs_agent -o noautomounted -o browse -o nordonly -a4 -vwebdav.targetcloud.tld https://webdav.targetcloud.tld /Volumes/webdav.targetcloud.tld

lsof套接字和管道中显示了一些小的和一个大的临时文件,源文件的精确字节数为 4411100732:

> lsof |grep webdav
[...]
webdavfs_ 16856 username   16u     unix 0xeb6c1635068d8d4d        0t0             /tmp/.webdavUDS.AkRcyY
webdavfs_ 16856 username   17u      REG                1,9      34820 12888785921 /private/tmp/.webdavcache.16856.Z0PTWh/webdav.3oCPbe
webdavfs_ 16856 username   18u      REG                1,9          0 12888785997 /private/tmp/.webdavcache.16856.Z0PTWh/webdav.86QuAz
webdavfs_ 16856 username   19u      REG                1,9       4096 12888785960 /private/tmp/.webdavcache.16856.Z0PTWh/webdav.sxHw8w
webdavfs_ 16856 username   20u      REG                1,9       6148 12888785961 /private/tmp/.webdavcache.16856.Z0PTWh/webdav.OLc0XV
webdavfs_ 16856 username   21u      REG                1,9 4411100732 12888786081 /private/tmp/.webdavcache.16856.Z0PTWh/webdav.nvLU9U

但是,普通的列表命令根本不显示文件。它们也不被 du -hs 计算在内。

drwxrwxrwt  14 root      wheel  - 448  9 Feb 18:19 ../
sh-3.2# whoami
root
sh-3.2# ls -laFOGp@Oe /private/tmp/.webdavcache.16856.Z0PTWh/
total 0
drwx------   2 username  wheel  -  64  9 Feb 18:24 ./
drwxrwxrwt  14 root      wheel  - 448  9 Feb 18:19 ../

在第一次尝试中,上传一个不完整的文件

在第二次尝试中,cp 进程在经过长时间的上传后没有错误地终止,但在目标云中,文件显示为 0 字节。这可能可以通过超时来解释,在云运营商的支持论坛中提到。

问题在这里

  • 为什么webdavfs_agent 将完整文件复制到临时磁盘空间?
  • 对于作为 root 的合格 ls 命令来说,文件如何完全不可见

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...