我的Go服务器出了问题。
当我通过SSH连接到我的NAS并执行./gogs web
时,服务器正在启动。但是当我关闭SSH连接时,服务器就会停止。
如何永久启动Go服务器?
答案 0 :(得分:1)
答案 1 :(得分:1)
这不是Go-specificioc问题,发生的事情是Go程序仍然附加到您的终端,当您注销时,内核将触发仍然连接到该终端会话的每个二进制文件的SIGHUP。
您最好的选择可能是使用nohup ./gogs web
。
第二个最好的选择是重写main,以便它拦截并处理SIGHUP,阻止它杀死你的程序。但是,这样做需要正确处理相当多的事情(你真的应该关闭stdin,stdout和stderr;确保所有日志记录都是通过日志库完成的,......)