[英]Killing vim processes with a shell script leaves .swp files
我开发了一个脚本来杀死处理xxx.log文件的所有'vim'进程:
ps -ef|grep vim|grep xxx.log|awk '{print $2}'|xargs kill -9
但是,每个vim实例都会保留.swp(swap)文件。 如何在同一个脚本中删除交换文件,或者其他一些简短的解决方案,而无需搜索交换位置等?
将-9
从kill
删除; 这会将TERM
(inate)信号发送给Vim,允许它清理并删除交换文件(至少它在Ubuntu上为我做了)。
通过使用-9
/ KILL
,您不会给该过程提供清理的机会。 这应仅用于绝对必要的情况(例如,当过程挂起或无限循环并且不再对外部信号作出反应时)。
由于交换文件包含您删除的名称,因此您也应该能够通过适当的操作找到它。
然而,杀死像vim
这样的交互式编辑器在很多层面上听起来都是错误的。 你应该考虑不这样做。 在哪种情况下是可取的?
你可以加
set noswapfile
到你的vimrc。 这将导致首先不创建交换文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.