
想实现终端执行程序,选择开启服务,退出程序后进程后台驻留。当要改变或停止服务操作时再执行程序。(像宝塔 BT 的 bt 那样) 问题是程序执行后退出时如何后台驻留?再次执行程序时不再启动新进程?是不是有现成的库可以用?
新手请教,请大佬指路,给几个关键词我去查,感谢!
1 dilu 2022-04-18 20:48:16 +08:00 可以直接用 fork 开新的进程处理,关闭进程的话就在子进程监听信号即可 |
2 xiusedelang 2022-04-18 20:54:18 +08:00 via Android |
3 mengyx 2022-04-18 21:53:07 +08:00 |
4 neoblackcap 2022-04-19 01:24:24 +08:00 你实际需要的可能是一个守护进程,以及一个与它交互的命令行客户端。 |
5 none 2022-04-19 01:26:40 +08:00 supervisor 是不是你需要的? |
6 zeusho871 2022-04-19 05:04:50 +08:00 via Android 看看 nps 怎么实现的 |
7 littlezzll 2022-04-19 08:49:11 +08:00 via Android systemd |
8 yin1999 2022-04-19 10:42:44 +08:00 via Android 推荐 systemd, screen ,前者适合做成服务,后者适合在后台跑脚本啥的 |
9 darknoll 2022-04-19 11:08:53 +08:00 由部署实现,不要放在代码里面 |
10 Misakas 2022-04-19 13:24:20 +08:00 咱有一篇没写完的博文,说了 golang 对 service 提供的支持 https://www.misakas.com/default/register-the-window-service-with-a-go-program/ |
11 biubiuF 2022-04-21 00:07:34 +08:00 做一个 rpc 的 cli |