在Linux系统中部署或使用某服务时,就需要重启某个服务。重启服务的方式有两种:“restart”、“reload”
- restart
执行"systemctl restart xxx"命令,就可以执行对某服务重启的操作,但是对于需要网路连接的服务,使用"restart"立刻重启的方式重启服务,有时会出现卡顿的情况。
"restart"重启是立刻重启,即使有客户端正在和服务端进行着数据传输,执行"systemctl restart xxx"命令后,服务端就会立刻断开和客户端的连接。等服务端系统重启后,再与客户端通过TCP三次握手建立连接进行剩下的数据传输。TCP的三次握手需要一定的时间,于是就会有卡顿的现象; - reload
"systemctl reload xxx"是平滑重启某服务。当客户端和服务端正在进行数据传输时,执行"systemctl reload xxx"命令并不会让服务端和客户端断开连接,而是先让数据传输完成,再断开连接。所以服务端系统重启后因为没有要和客户端传输的数据,也就不需要建立TCP连接,所以就不会出现卡顿的情况