WinSW: 把 win 下的命令行程序包装为 service 运行

Install

Config

以配置 win 平台下的 hugo server 为例:运行 Git Bash, 执行如下命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 新建 Hugo Server 运行目录: hugod
$ mkdir -p /d/software/hugod

# 拷贝已下载的 WinSW 可执行程序并重命名为:hugod.exe
$ cp /path/to/winsw.exe /d/software/hugod/hugod.exe

# 创建配置文件:hugod.xml
# Note: 配置文件必须和可执行程序同名,即和 hugod.exe 同名
$ vim hugod.xml

# 配置文件添加如下内容
#   Note: 请提前设置好相关环境变量:
#       - %Blog%:指向Blog的家目录
#       - `hugo` 可执行程序也必须在系统环境变量中, 即添加到:%Path%

<service>
  <id>hugod</id>
  <name>hugod</name>
  <description> Running Hugo Server for Zher's Blog </description>
  <env name="BlogHome" value="%Blog%"/>
  <executable>hugo</executable>
  <arguments>-D -s %Blog% --config %Blog%\config.toml --logFile hugod.log server</arguments>
  <logmode>rotate</logmode>
</service>

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 安装服务
$ hugod.exe install

# 启动服务
$ hugod.exe start

# 停止服务
$ hugod.exe stop

# 卸载服务
$ hugod.exe uninstall

Ending

将 hugod.exe 添加到 %Path% 环境变量,即可在任意目录下管理服务

1
setx /M PATH "D:\cloud\Blog\hugo-server;%PATH%"

Links

Thanks to the authors 🙂