当脱离了Debian,失去了我常年使用的systemd,我不得不使用一个脚本使用nohup
大法启动程序
可是,当你想要重启服务?停止服务?好麻烦,想想就头大
于是,我爆肝写了一个最简单的进程管理程序:ctrl
260行,实现了很多好用的功能!点我下载ctrl.gz 或者简单两行
cd /usr/data
curl https://hi.imzlh.top/usr/uploads/2024/03/2789379259.gz | gunzip - > ctrl
chmod +x ctrl
./ctrl help
Service Ctrl Manager
Usage:
- ctrl [command] [service]|all
- SERVICE_NAME=... SERVICE_CMD=... (LOG_FILE_PATH=... PID_FILE_PATH=...) ctrl [command]
Commands:
Command Usage start Start the service as a Daemon stop Stop the service restart Shutdown the service and Restart status Print the PID(is running) of the service run Run the services debug Test the services unit tail Show the TAIL of the services output logs Print the full services output info Print the services info markup Markup servicesFile(e.g For StartAll)
写service文件
与systemctl的service配置不同,只需要简单5行
# 名称,不是很有用
export SERVICE_NAME="A Demo Service"
# 启动命令,数组
export SERVICE_CMD=("./app" "--param=value")
# 工作目录
export SERVICE_WORK_DIR="/usr/data/ddns/"
# PID与日志存储位置,必须唯一
NAME="ddns"
export PID_FILE_PATH="/run/.$NAME.pid"
export LOG_FILE_PATH="/run/.$NAME.log"
接下来将写好的配置放入脚本同目录下的文件夹中,如
- aliddns/.services => ctrl start aliddns
- clash/.services => ctrl start clash
开机自启管理
注意到了那个markup命令吗?没错,开机自启走起!
首先标记开机自启程序:
ctrl markup aliddns
ctrl markup clash
接下来,只需要将这一行写入/usr/local/osgi/local/j2re/bin/java
cd /usr/data/ && ./ctrl start all
你可以试试看,完美自启动!(其实本质是批量启动)
本文由 zlh 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。