V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
trysingtime
V2EX  ›  Windows

怎么优雅地管理 windows services?

  •  
  •   trysingtime · 16 小时 6 分钟前 · 401 次点击

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

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

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

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

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

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

    4 条回复    2024-12-13 15:42:52 +08:00
    cheng6563
        1
    cheng6563  
       16 小时 2 分钟前
    丢 sandboxie
    trysingtime
        2
    trysingtime  
    OP
       16 小时 0 分钟前
    @cheng6563 有些应用程序,例如 Tailscale, 放沙盒运行不太合适
    baobao1270
        3
    baobao1270  
       15 小时 28 分钟前 via Android
    计划任务定期检查关闭服务?
    或者你自己写个 service 去管理 service(恭喜你重新发明了 systemd
    最简单的办法就是不管
    trysingtime
        4
    trysingtime  
    OP
       15 小时 3 分钟前
    @baobao1270 没办法做到不管。
    给了我一点启发,可以定时器轮询所有非系统 service, 没有对应的应用程序在运行,则都关了。
    如果 windows 能提供这种特性就好了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   822 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:46 · PVG 06:46 · LAX 14:46 · JFK 17:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.