kill與kill -9的區(qū)別
kill命令格式:kill -Signal pid
pid
是進(jìn)程號(hào),可以用 ps
命令查出
signal
是發(fā)送給進(jìn)程的信號(hào)
kill
和kill -9
,兩個(gè)命令在Linux中都有殺死進(jìn)程的效果,然而兩命令的執(zhí)行過程卻大有不同,在程序中如果用錯(cuò)了,可能會(huì)造成莫名其妙的現(xiàn)象。
kill(不加 -* 默認(rèn)kill -15)
命令
系統(tǒng)會(huì)發(fā)送一個(gè)SIGTERM
信號(hào)給對(duì)應(yīng)的程序。當(dāng)程序接收到該signal信號(hào)后,將會(huì)發(fā)生以下事情:
- 程序立刻停止
- 當(dāng)程序釋放相應(yīng)資源后再停止
- 程序可能仍然繼續(xù)運(yùn)行
大部分程序接收到SIGTERM
信號(hào)后,會(huì)先釋放自己的資源,然后再停止。但是也有程序可能接收信號(hào)后,做一些其他的事情(如果程序正在等待IO,可能就不會(huì)立馬做出響應(yīng)),也就是說,SIGTERM
有可能是會(huì)被阻塞的。
kill -9
命令
系統(tǒng)給對(duì)應(yīng)程序發(fā)送的信號(hào)是SIGKILL
,即exit
。exit
信號(hào)不會(huì)被系統(tǒng)阻塞,所以kill -9
能順利殺掉進(jìn)程。文章來源:http://www.zghlxwxcb.cn/news/detail-767684.html
總結(jié):文章來源地址http://www.zghlxwxcb.cn/news/detail-767684.html
- 在使用 kill -9 前,應(yīng)該先使用 kill -15,給目標(biāo)進(jìn)程一個(gè)清理善后工作的機(jī)會(huì)。如果沒有,可能會(huì)留下一些不完整的文件或狀態(tài),從而影響服務(wù)的再次啟動(dòng)。
到了這里,關(guān)于Linux kill 、kill -15、kill -9 的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!