systemctl restart
命令的原理是:
systemctl
工具接收到restart
命令并解析服务名称。systemctl
将检查服务的当前状态。如果该服务未运行,则会自动启动该服务。- 如果服务正在运行,
systemctl
将发送停止命令给服务,等待服务进程退出。 - 一旦服务进程停止,
systemctl
会立即启动一个新的服务实例。 - 启动的新服务实例将应用任何配置更改或更新,并重新启动服务进程。
- 如果服务启动成功,
systemctl
将返回成功状态。
总结来说,systemctl restart
命令会先停止当前运行的服务,然后立即启动一个新的服务实例。这样做可以确保服务进程可以加载最新的配置和代码,同时对外部请求保持连续性。