Mmx233 / BitSrunLoginGo

深澜校园网登录程序 Go 语言版,适用于Windows、Linux、路由器等。提供对 Docker、Go Module、OpenWrt 的支持
GNU Affero General Public License v3.0
303 stars 27 forks source link

请问后台挂起和进程守护是怎么实现的呢? #22

Closed zipeilee closed 1 year ago

zipeilee commented 1 year ago

我在Config文件中开启了守护进程和后台挂起但是好像并没有起作用,请问是需要额外配置service然后用systemctl开启吗? 我是通过ssh远程连接服务器使用这个软件的,似乎我关闭当前ssh会话之后它就失效了?另外我在top中也没找到这个软件的进程,如果想查看后台的自动登录运行时候正常应该在top中寻找哪些进程呢?

Mmx233 commented 1 year ago

golang 在 linux 下的 exec 实现会使用 clone 创建新进程,当主程序退出时子进程会变成孤儿进程并被 init 进程(进程号为 1)接管。如果你想让程序在终端关闭后继续运行的话,你可以使用 nohup 或者 screen 防止进程被结束。

如果你想查看登录情况,你可以使用 nohup 输出日志文件,或者使用 screen 恢复命令终端,或者编写 service 文件后使用 systemctl 查看日志

zipeilee commented 1 year ago

感谢回答!提一个小小的意见,或许可以把如何后台运行加在readme里?

Mmx233 commented 1 year ago

bitsrun 里的 daemon 即不归规范也不好用,已经在新版本中移除。至于如何后台运行,那是每种操作系统的知识,不属于本项目的范畴,我不想放进 readme