首页 > 手机 > 配件 > linux杀进程,Linux之kill命令

linux杀进程,Linux之kill命令

来源:整理 时间:2022-03-26 07:49:26 编辑:华为40 手机版

Linux在哪些时候不适合使用kill -9杀进程?

老胡的看法:Linux下的kill命令,通常我们使用比较多的是kill -9和kill -15,kill -9的含义是立即终止进程,不做任何清理工作;而kill -15的含义是向被结束的进程发送一个终止信号,通常被结束进程会根据这个信号来进行一些结束前的整理工作,比如将缓存回写、结束socket连接,关闭打开的文件等等。

所以老胡认为如果被结束的进程涉及到这些整理工作的时候,就不适合使用kill -9来结束。实际上,除非你知道待结束的进程此时在做什么,否则最好永远不要使用kill -9。不适合使用的例子之一:数据库数据库程序为了能够迅速检索到它所存储的数据,一般都会设计成将索引放在内存空间中,以达到高速的读写性能。假设数据库的内容刚刚更新,新数据的索引放在内存空间中还没有会写到硬盘上,此时使用kill -9结束数据库进程的时候,就会造成索引数据的丢失

不适合使用的例子之二:C/S架构的软件系统在C/S架构的软件系统中,如果客户端和服务端正在进行通信,使用kill -9结束服务端的话,会造成客户端失去连接。有些软件系统中因为设计不到位没有考虑到这种情况,客户端就会一直处于等待状态,无法确认服务端的异常情况;使用kill -9结束客户端,也会造成服务端得不到客户端的响应,难以对中断的业务进行处理。

总结一下,kill -9的破坏性非常强,只有在确认待结束的进程数据完全安全之后,才能够放心使用kill -9。老胡建议,不是特别极端的情况,多使用kill -15来结束进程,这样进程能够将数据回写,并通知自己的子进程准备结束,可以最大程度上降低数据丢失的风险。如果我的回答对你有点价值,请莫忘点赞加关注,谢谢!欢迎在评论区发表各种意见。

文章TAG:linuxLinuxkill进程命令

最近更新