怎么优雅地管理 windows services?

19 小时 15 分钟前
 trysingtime

windows 上很多应用安装后会自动注册一个 service ,并设置为"自启动"。

  1. 将 service 修改为"手动"后,启动应用时才会拉起 service ,挺好的。
  2. 应用程序 exit 后,service 依然常驻在系统中,直到关机。

为此我写了一个 bat 脚本,每次启动应用都通过 bat 文件启动,然后阻塞。
此时应用关闭后,会自动执行后续 bat 命令,把 service 关闭。

然而,这个方法存在几个小问题:

  1. 每个 service 都要自己管理,应用程序更新后,很可能 service 又被设置为"自启动"了
  2. 要小心不能直接启动应用程序,只能使用写好的 bat 启动
  3. 一直有个很丑的 cmd 窗口

有没有更优雅的方案?或者好用的第三方应用?

440 次点击
所在节点    Windows
4 条回复
cheng6563
19 小时 11 分钟前
丢 sandboxie
trysingtime
19 小时 9 分钟前
@cheng6563 有些应用程序,例如 Tailscale, 放沙盒运行不太合适
baobao1270
18 小时 37 分钟前
计划任务定期检查关闭服务?
或者你自己写个 service 去管理 service(恭喜你重新发明了 systemd
最简单的办法就是不管
trysingtime
18 小时 13 分钟前
@baobao1270 没办法做到不管。
给了我一点启发,可以定时器轮询所有非系统 service, 没有对应的应用程序在运行,则都关了。
如果 windows 能提供这种特性就好了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1097295

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX