储存文件时显示未能打开文件
在储存文件时,显示“未能打开文件”,重启后问题解决但是之后依然还会出现这个问题,难道每次出现这种问题都需要重启吗?
MacBook Pro 13", macOS 10.15
在储存文件时,显示“未能打开文件”,重启后问题解决但是之后依然还会出现这个问题,难道每次出现这种问题都需要重启吗?
MacBook Pro 13", macOS 10.15
什么app?如果是第三方app,先检查更新到最新版本,如果没有更新,搜索是否有类似问题的报告
还有一些细节问题,比如,是打开一个已经存在的文件,还是新建的文件;是保存在桌面才有问题,还是任何文件夹中都同样问题?是保存还是另存为;重启之后,貌似至少第一次保存成功,之后是再保存同一文件就有会问题,还是其它文件才有问题;是第二次保存就开始有问题,还是多次保存之后才有可能出问题;是重启后,过一段时间才有问题,还是说跟时间没多大关系,和打开保存文件次数相关?如果在一个新建的用户帐户中,操作是否依然有相同问题。
这些问题主要是看看是与特定文件夹、特定文件、时间、app自身、操作次数或者帐户等因素相关。
另外,这里显示你的系统是10.15,检查这个app的官网说明,是否与最新的10.15.x版本兼容,如果兼容,最好升级到现在最新的10.15.x版本。
什么app?如果是第三方app,先检查更新到最新版本,如果没有更新,搜索是否有类似问题的报告
还有一些细节问题,比如,是打开一个已经存在的文件,还是新建的文件;是保存在桌面才有问题,还是任何文件夹中都同样问题?是保存还是另存为;重启之后,貌似至少第一次保存成功,之后是再保存同一文件就有会问题,还是其它文件才有问题;是第二次保存就开始有问题,还是多次保存之后才有可能出问题;是重启后,过一段时间才有问题,还是说跟时间没多大关系,和打开保存文件次数相关?如果在一个新建的用户帐户中,操作是否依然有相同问题。
这些问题主要是看看是与特定文件夹、特定文件、时间、app自身、操作次数或者帐户等因素相关。
另外,这里显示你的系统是10.15,检查这个app的官网说明,是否与最新的10.15.x版本兼容,如果兼容,最好升级到现在最新的10.15.x版本。
我尝试了一下,好像是系统自带的预览app,还有pages这些app,在打开相关文件,比如pdf格式,jpg格式,pages的格式的时候,也会显示未能打开的提示,所以当我需要储存一个这样的文件到任何地方的时候都会显示上述的问题。之前出现的时候尝试了重新启动,然后解决了这个问题,但是过一段时间会有出现同样的问题。具体没有能够统计是因为操作了多次还是出问题的时间有一致性,平时都是正常的操作电脑,可能在有需要储存文件或是打开文件的时候才发现又出现了这个问题。目前这周内已经有三天出现这样的问题了,每次问题的出现好像是在修复好的第二天
如果打开的时候就有提示,那么仔细看清提示的内容,会对排错有很大帮助
如果并非一种文件,也非一个app,那么考虑多文件本身,比如文件的来源,是自己创建的,还是从他人复制过来的,还是网上下载的。
下次在出现问题是,先将其另外保存为一个新文件,不要重启,对比两个文件的属性,也就是“显示简介”中的各项内容,注意是不是"已锁定"的文件,或者所有者是否是当前用户的,以及当前用户是否有读写权限等等。
另外,观察是否同一个文件被程序同时打开多次. 比如使用下面的命令可以显示所有打开某个文件的进程:
# lsof /Users/youraccount/Desktop/截屏2019-12-11下午7.15.35.png
其中命令是:lsof。空格后面是指定文件的全路径。我的一个测试显示如下,说明有三个进程打开了该文件:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
filecoord 386 root 14r REG 1,4 71492 12886037298 /Users/youraccount/Desktop/截屏2019-12-11下午7.15.35.png
filecoord 386 root 17r REG 1,4 71492 12886037298 /Users/youraccount/Desktop/截屏2019-12-11下午7.15.35.png
Preview 2896 admin txt REG 1,4 71492 12886037298 /Users/youraccount/Desktop/截屏2019-12-11下午7.15.35.png
被多个进程打开,就有可能出现保存问题。简单地说,如果多个程序同时对一个文件进行写(保存数据)操作,那么就无法保证文件的完整可靠。为了防止这种冲突发生,文件系统提供了文件锁的功能,也就是当程序对文件写入数据前,先申请对该文件的锁请求,当写入数据时,文件系统会检查是否有其它程序对其有锁请求,如果有,就会放弃这个程序的写请求,表现就是保存文件错误;只有当一个文件只有一个锁请求的时候,才会准许写操作。这就避免了冲突。当然,当代的程序只有在写入数据之前,才会请求文件锁,而不是打开文件就需要文件锁,这样大大降低了冲突的概率,但是不同的程序和应用场景的不同,使用的锁策略也会不同,所以,检查是否有多个进程同时打开文件也是一个需要考虑的方面。
总之,需要耐心和细致,才能找到病根。
储存文件时显示未能打开文件