Input/output 错误

Input/output error

我使用 Docker:

创建文件并在虚拟机中显示其内容
touch file.txt
docker run \
    --rm -it \
    --volume $(pwd):/app \
    --workdir /app \
    alpine:3.6 \
    sh -c '\
        while : ; do \
            cat file.txt ;\
            sleep 1 ;\
        done \
    '

然后我在本地更改文件:

date > file.txt

一切正常

但是当我在 PhpStorm 中更改文件时,我收到大约 20 秒的错误消息:

cat: can't open 'file.txt': I/O error

此行为的可能原因是什么?我该如何诊断?

(Docker 17.10,VirtualBox 5.1.30,PhpStorm 2017.2.4)

尝试在 PhpStorm 设置中禁用 "safe write" 选项:Settings/Preferences | Appearance & Behavior | System Settings --> Use "safe write"...

启用该选项后 IDE 首先写入临时文件(例如 file.__temp_jb__),然后才将其重命名为实际目标(file.txt)。

看起来这种操作(原始文件被删除并被另一个文件替换)与您的脚本有某种冲突。