最新消息:

Servy,将任何Windows 应用转换为Windows 服务,NSSM/WinSW/AlwaysUp/FireDaemon 的开源替代

佳软 yeeach 959浏览 0评论

使用Windows,经常需要将带界面的Windows 应用、exe可执行程序、bat批处理文件变为Windows服务,以便于后台运行,支持开启重启、进程保护等功能。

有众多的工具支持将exe文件封装为Windows服务,常用的工具包括:

Sc.exe

https://learn.microsoft.com/zh-cn/windows/win32/services/controlling-a-service-using-sc

Windows系统内置命令,需要熟悉命令行操作,对新手不友好

以前还有SRVANY.exe,微软官方在 Windows 10/11 上已经不再提供支持,因此不推荐。

 

 

NSSM

https://nssm.cc/builds

https://github.com/kirillkovalenko/nssm

开源,功能强大,但从2017年以后未再更新维护

 

 

Winsw

https://github.com/winsw/winsw

开源,功能强大但配置较为复杂,2023年后未再更新维护

 

 

Shawl

https://github.com/mtkennerly/shawl

开源,功能相对于NSSM、Winsw弱一些,目前还在更新维护

 

 

AlwaysUp

https://www.coretechnologies.com/products/AlwaysUp/

收费商业软件

 

 

FireDaemon

https://www.firedaemon.com/

收费商业软件

 

可以看出,要将exe程序变为Windows服务,免费方案包括Sc.exe,NSSM,Winsw,Shawl,但各有优劣。

Servy 是一个开源支持把任何应用程序作为 Windows 服务运行的新项目,开发者对Sc.exe/NSSM/Winsw/Shawl 这些方案不是很满意,因此开发了Servy 。

Servy 允许您将任何应用作为原生 Windows 服务运行,并完全控制工作目录、启动类型、进程优先级、日志记录、健康检查、环境变量、依赖项、预启动脚本和参数。

相比 NSSM/WinSW/Shawl,Servy 一些值得推荐的特征:

  • 积极维护,开发者一直在持续更新维护
  • 适用于 Windows 7–11 + Server
  • 提供 GUI 和命令行界面 (CLI),允许以交互方式或通过脚本和 CI/CD 管道创建、配置和管理 Windows 服务
  • 允许设置自定义工作目录,解决了 Windows 服务的一个常见限制,避免了 C:\Windows\System32 的问题
  • 将 stdout/stderr 重定向到循环日志文件
  • 内置健康检查和重启策略

Servy 对于将 Node.js、Python、.NET、Java、Go、Rust、PHP 或 Ruby 应用程序作为服务运行非常有用,可以作为NSSM/Winsw的不错替代。

项目地址:https://github.com/aelassas/servy

 

 

 

更多Windows资源

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址