为什么 Vim 认为它仍在运行?

为什么 Vim 认为它仍在运行?

这是对该问题的后续回答:为什么 vim 不总是给我删除交换文件的选项?

我的笔记本电脑死机了,当时打开了一些 Vim 会话。这些都是我已经保存的文件,所以我不需要交换文件,但是当我编辑其中一些文件时,“删除”选项不存在。如上面的问题所述,Vim 认为上一个进程仍在运行:

Found a swap file by the name "~/.vim/tmp//%home%dominickpastore%research%codegen%rabbitmq.c.swp"
          owned by: dominickpastore   dated: Tue May 12 13:56:53 2020
         file name: ~dominickpastore/research/codegen/rabbitmq.c
          modified: no
         user name: dominickpastore   host name: carbon
        process ID: 8903 (still running)
While opening file "rabbitmq.c"
             dated: Tue May 12 13:56:49 2020

问题是,我的笔记本电脑完全死机了,所以我确信前一个进程没有继续运行!为了确保万无一失,我检查了是否有另一个具有该 PID 的进程,但并没有。

有趣的是,它只对我打开的 5 个文件中的 2 个执行了此操作(所有文件都在不同的 Vim 实例中)。它正确地将其他 3 个文件识别为已消失。

Vim 如何判断前一个进程是否还在运行?为什么有时会出错?

相关内容