单独kill或者kill -15是相同,单独使用kill时,默认就是kill -15,这种被公认为是优雅的退出。
在使用kill时,系统会发送一个对应的信号给对应的程序,当程序接到信号后,一般会做三个选择:1.立即停止。2.释放资源后停止。3.忽略该信号。
因为kill只是通知对应的程序,要进行安全干净的退出,如果退出的过程中遇到阻碍,程序就会忽略该命令。
举个可以更好帮助理解的例子,但是例子不与kill是同一回事,只是辅助理解,类似我们在windows系统下,有一个文件打开状态,我们对文件进行重命名,是无法修改成功的,可以理解为忽略了修改,只有关掉这个文件,可以理解为释放资源后修改。可以说它会有一个“准备的时间”。
而kill -9相对来说就没有这个“准备时间”,带有强制性,可能会造成一些数据丢失等现象。