服务 Win10 Mac

发布于

AI总结: Win服务管理可以通过winsw.exe进行全局管理,或将其重命名为特定应用的服务程序(如myapp-server.exe)。服务配置包括服务标识、名称、描述、环境变量、可执行文件及其参数、日志路径和日志设置。具体服务管理命令包括安装、卸载、启动、停止、重启、查询状态和刷新属性。 对于Mac服务,用户需创建LaunchAgent配置文件,并在~/Library/LaunchAgents目录中编辑.plist文件,配置服务标识、程序参数和加载选项。完成配置后,通过launchctl命令加载服务并验证其是否成功加载。 建议在服务配置文件和命令中明确指出需要替换的实际路径和参数,以提升清晰度。同时,可以增加对每个命令的简要说明,以帮助用户理解其功能。

Win服务

可以使用winsw.exe进行全局管理, 也可以重命名为指定应用的服务程序如myapp-server.exe

服务配置

<service>
  <id>myapp</id>
  <name>myapp</name>
  <description>myapp服务</description>
  <env name="MYAPP_HOME" value="%BASE%"/> <!-- BASE: 指向包含重命名后的 WinSW.exe 的目录 -->
  <executable>myapp.exe</executable>
  <arguments>-f "%BASE%\myapp.yaml" -d "%BASE%"</arguments> <!-- 应用程序参数 -->
  <logpath>%BASE%\logs</logpath>
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>3</keepFiles>
  </log>
</service>

服务管理

# 安装服务
winsw.exe install myapp-server.xml
# 卸载服务
winsw.exe uninstall myapp-server.xml
# 启动服务
winsw.exe start myapp-server.xml
# 停止服务
winsw.exe stop myapp-server.xml
# 重启服务
winsw.exe restart myapp-server.xml
# 查询服务状态
winsw.exe status myapp-server.xml
# 刷新服务属性
winsw.exe refresh myapp-server.xml

相关链接

  1. winsw服务管理
  2. 服务配置文件说明
  3. 日志设置

Mac服务

1. 创建 LaunchAgent 配置文件

在终端执行以下命令,在 ~/Library/LaunchAgents 目录(如未存在则新增目录)新增配置文件:

vim ~/Library/LaunchAgents/myapp.plist

2. 编辑 .plist 文件内容

将以下内容填入文件中,并根据 实际路径 调整以下部分:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>myapp.service</string>                <!-- 自定义服务标识 -->
    <key>ProgramArguments</key>
    <array>
        <string>/MYAPP_HOME/myapp</string>        <!-- 应用绝对路径 -->
        <string>-f</string>                       <!-- 以下应用程序参数, 可根据实际情况进行调整 -->
        <string>/MYAPP_HOME/myapp.yaml</string>   
        <string>-d</string>
        <string>/MYAPP_HOME</string>              
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <false/>
</dict>
</plist>

3. 加载并验证服务

保存文件后执行以下命令,确保服务生效:

launchctl load ~/Library/LaunchAgents/myapp.plist     # 加载服务
launchctl list | grep myapp                           # 验证是否加载