Merge pull request #5 from Howard-aile/main
docs: README.md中增加macos注册服务和自启动的说明
This commit is contained in:
@@ -36,40 +36,75 @@ bash main.sh
|
|||||||
|
|
||||||
在首次运行或重新生成配置文件时,脚本会自动生成配置文件 `config.toml` ,之后脚本会自动退出,在你编辑好配置文件后重新启动脚本即可
|
在首次运行或重新生成配置文件时,脚本会自动生成配置文件 `config.toml` ,之后脚本会自动退出,在你编辑好配置文件后重新启动脚本即可
|
||||||
|
|
||||||
3.注册服务
|
3.注册服务 / 设置自启动
|
||||||
|
|
||||||
创建服务文件
|
**Linux(systemd)**
|
||||||
|
|
||||||
```
|
- 创建服务文件
|
||||||
touch /etc/systemd/system/oucshell.service
|
```
|
||||||
```
|
touch /etc/systemd/system/oucshell.service
|
||||||
|
```
|
||||||
|
- 编辑服务文件(按实际路径替换)
|
||||||
|
```
|
||||||
|
# 这只是一个systemd服务注册示例,不要直接拿来用
|
||||||
|
[Unit]
|
||||||
|
Description=Campus Helper Service (Electricity & More)
|
||||||
|
After=network.target
|
||||||
|
|
||||||
编辑服务文件
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/绝对路径/到/OUC_Shell # 替换为你的仓库路径
|
||||||
|
ExecStart=/bin/bash /绝对路径/到/OUC_Shell/main.sh # 替换为你的 main.sh 路径
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
```
|
[Install]
|
||||||
# 这只是一个systemd服务注册示例,不要直接拿来用
|
WantedBy=multi-user.target
|
||||||
[Unit]
|
```
|
||||||
Description=Campus Helper Service (Electricity & More)
|
- 启动并设置开机自启
|
||||||
After=network.target
|
```
|
||||||
|
systemctl start oucshell.service
|
||||||
|
systemctl enable oucshell.service
|
||||||
|
```
|
||||||
|
|
||||||
[Service]
|
**macOS(LaunchAgent,随用户登录启动)**
|
||||||
Type=simple
|
|
||||||
User=root
|
|
||||||
WorkingDirectory=/path/to/your/repo # 这里改成你克隆的本仓库的路径
|
|
||||||
ExecStart=/bin/bash /path/to/main.sh # 这里改成你的main.sh的路径
|
|
||||||
Restart=always
|
|
||||||
RestartSec=10
|
|
||||||
|
|
||||||
[Install]
|
- 安装依赖(macOS 自带 curl,需安装 jq 与 bc)
|
||||||
WantedBy=multi-user.target
|
```
|
||||||
```
|
brew install jq bc
|
||||||
|
```
|
||||||
|
> **注意**:下方 plist 文件中的所有 `/绝对路径/到/OUC_Shell` 都需要替换为你的实际仓库绝对路径(例如 `/Users/yourname/github_project/OUC_Shell`),否则服务无法正常运行。
|
||||||
|
- 创建 LaunchAgent(把路径换成你自己的绝对路径)
|
||||||
|
cat > ~/Library/LaunchAgents/cn.ouc.shell.plist <<'EOF'
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>Label</key>
|
||||||
|
<string>cn.ouc.shell</string>
|
||||||
|
<key>ProgramArguments</key>
|
||||||
|
<array>
|
||||||
|
<string>/bin/bash</string>
|
||||||
|
<string>/绝对路径/到/OUC_Shell/main.sh</string>
|
||||||
|
</array>
|
||||||
|
<key>WorkingDirectory</key><string>/绝对路径/到/OUC_Shell</string>
|
||||||
|
<key>StandardOutPath</key><string>/绝对路径/到/OUC_Shell/service.log</string>
|
||||||
|
<key>StandardErrorPath</key><string>/绝对路径/到/OUC_Shell/service.log</string>
|
||||||
|
<key>RunAtLoad</key><true/>
|
||||||
|
<key>KeepAlive</key><true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
EOF
|
||||||
|
|
||||||
4.启动服务和设置自启动
|
launchctl load ~/Library/LaunchAgents/cn.ouc.shell.plist
|
||||||
|
```
|
||||||
```
|
- 请将 `/绝对路径/到/OUC_Shell` 替换为你的实际仓库路径(例如 `/Users/yourname/github_project/OUC_Shell`)。
|
||||||
systemctl start oucshell.service
|
- 停止/重载:`launchctl unload ~/Library/LaunchAgents/cn.ouc.shell.plist` 后再 `load`。
|
||||||
systemctl enable oucshell.service
|
- 查看运行日志
|
||||||
```
|
```
|
||||||
|
tail -f /绝对路径/到/OUC_Shell/service.log
|
||||||
|
```
|
||||||
|
|
||||||
# 效果演示
|
# 效果演示
|
||||||
|
|
||||||
@@ -98,4 +133,4 @@ systemctl enable oucshell.service
|
|||||||
</tr>
|
</tr>
|
||||||
<tbody>
|
<tbody>
|
||||||
</table>
|
</table>
|
||||||
<!-- readme: contributors -end -->
|
<!-- readme: contributors -end -->
|
||||||
|
|||||||
Reference in New Issue
Block a user