因为最近用go语言开发了一个websocket服务启动后需要后台运行,还希望异常退出时可以自动重启。整体思路是启动程序后,转为后台运行,这个后台程序暂且称为守护进程(daemon)。它不处理具体业务逻辑,只是再次按一样的参数调用自身,启动一个子进程,有子进程负责业务逻辑处理。守护进程监视子进程状态,若退出则再次启动一次。如此可以保证服务异常中止时可以及时重启。网上找到了一个开源的库,可以很方便保持参数不变另外启动一个后台进程,但如果后台进程再次尝试启动自身为另外一个后台进程,则会出现错误。