一、結(jié)束方式不同
kill命令默認發(fā)送的是SIGTERM(15)信號,是一種可捕獲信號,意在通知進程需要結(jié)束,進程可以選擇是否響應(yīng)。而kill -9發(fā)送的是SIGKILL(9)信號,是一種不可捕獲信號,強制進程立即結(jié)束。
二、進程響應(yīng)不同
收到kill或者kill -15的SIGTERM信號后,進程有機會對信號進行處理,例如釋放資源、保存狀態(tài)等,然后自我結(jié)束。但是收到kill -9的SIGKILL信號后,進程無法進行任何處理,立即被系統(tǒng)結(jié)束。
三、資源清理不同
使用kill或者kill -15,由于進程能夠自我結(jié)束,因此可以在結(jié)束前清理和釋放資源。而使用kill -9,進程被強制結(jié)束,可能無法清理和釋放占用的資源,可能會導(dǎo)致資源泄露。
延伸閱讀
1.kill是什么
kill是Linux中的一個命令,用于向進程發(fā)送指定的信號。常用的信號有SIGTERM(15)和SIGKILL(9)等。
2.kill -15是什么
kill -15是向進程發(fā)送SIGTERM(15)信號的命令。SIGTERM是一種可被捕獲、阻塞和忽略的信號,當進程收到這個信號后,它可以進行適當?shù)那謇砉ぷ?,然后自我結(jié)束。
3.kill -9是什么
kill -9是向進程發(fā)送SIGKILL(9)信號的命令。SIGKILL是一種不可被捕獲、阻塞和忽略的信號,當進程收到這個信號后,它將立即被系統(tǒng)強制結(jié)束。