Asf*_*bar 6 linux vim bash shell
我开发了一个脚本来杀死处理xxx.log文件的所有'vim'进程:
ps -ef|grep vim|grep xxx.log|awk '{print $2}'|xargs kill -9
Run Code Online (Sandbox Code Playgroud)
但是,每个vim实例都会保留.swp(swap)文件.如何在同一个脚本中删除交换文件,或者其他一些简短的解决方案,而无需搜索交换位置等?
Ing*_*kat 13
掉落-9的kill; 这会将TERM(inate)信号发送给Vim,允许它清理并删除交换文件(至少它在Ubuntu上为我做了).
通过使用-9/ KILL,您不会给该过程提供清理的机会.这应仅用于绝对必要的情况(例如,当过程挂起或无限循环并且不再对外部信号作出反应时).
由于交换文件包含您删除的名称,因此您也应该能够通过适当的操作找到它。
然而,杀死一个交互式编辑器vim在很多层面上听起来都是错误的。你真的应该考虑不这样做。在什么情况下是可取的?