您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

我应该如何在后台运行Golang进程?

我应该如何在后台运行Golang进程?

正如Nick提到的,Supervisord一个很好的选择,根据我的经验也很有效。

尼克提到了分叉的问题- 分叉本身可以很好地实现AFAICT。问题不是派生而是放弃特权。由于Go运行时启动启动goroutine进行多路复用的线程池的方式(当GOMAXPROX> 1时),setuid系统调用不是删除权限的可靠方法

相反,您应该以非特权用户身份运行程序,并使用setcap实用程序向其授予所需的权限。

例如,要允许绑定到低端口号(例如80),运行将需要在可执行文件上运行一次setcap: sudo setcap 'cap_net_bind_service=+ep' /opt/yourGoBinary

您可能需要安装setcap: sudo aptitude install libcap2-bin

Go 2022/1/1 18:20:03 有434人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶