在后台启动应该是启动了一个新的进程,然后在一个位置记录这个PID。

然后,再执行stop子命令的时候,读取程序PID,向这个PID发送停止信号,程序收到信号后,执行停止的操作。

重载和停止一样,只不过发送的是不同的信号,程序收到信号后处理过程不一样。

这个其实就是 进程通信 信号
golang 里面的 os/signal 包就是处理这个的

后台守护其实不只是控制程序的启动停止和重载,后台守护主要还是在检测程序是否在运行、然后在适当的时候自动重新启动程序。

使用caddy start启动的程序,作用只是启动一个新的进程,没有后续的检测和保活机制。所以这个和第三方后台守护程序不冲突,程序启动后一般还是要配一个后台守护的,和程序启动的方式没什么关系。