2

我正在用 golang 开发一个网络服务。它使用 net/http 包和其他包,如 github.com/go-sql-driver/mysql 和 redigo (redis)。我开发时没有问题,没有错误。当我将它作为后台服务放在生产服务器上时(即:使用 ./myProgram & 启动)。问题是,几次之后,这是不一样的:它可能是几分钟或几个小时,它只是崩溃。该服务不再出现在 netstat 中:它已关闭。我查看内存/CPU 消耗/打开的 tcp 连接,没有任何异常。我还将有关我的服务的错误和请求的信息记录在一个文件中,但没有任何异常,它只是崩溃了。

如果您有任何想法,请告诉我。或者我可以跟踪错误的任何想法。

4

1 回答 1

2

您提到这仅在生产服务器上运行时才会发生。

当您断开登录会话时,是否会导致进程被终止?如果是这样,您想使用正确的启动脚本,或者至少使用nohup启动它

nohup ./myProgram &

有关更多详细信息,请参阅serverfault 的此答案。

于 2015-07-08T00:03:34.437 回答