想实现终端执行程序,选择开启服务,退出程序后进程后台驻留。当要改变或停止服务操作时再执行程序。(像宝塔 BT 的 bt 那样) 问题是程序执行后退出时如何后台驻留?再次执行程序时不再启动新进程?是不是有现成的库可以用?
新手请教,请大佬指路,给几个关键词我去查,感谢!
1
dilu 2022-04-18 20:48:16 +08:00 1
可以直接用 fork 开新的进程处理,关闭进程的话就在子进程监听信号即可
|
2
xiusedelang 2022-04-18 20:54:18 +08:00 via Android 1
|
3
mengyx 2022-04-18 21:53:07 +08:00 1
|
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
|