Termux用Termux-services设置自启动项

安装Termux-services:

1
pkg install termux-services -y

配置Termux-services下的服务启动文件:

1
2
mkdir -p $PREFIX/var/service/服务名
vim $PREFIX/var/service/服务名/run

将下面命令粘贴进$PREFIX/var/service/服务名/run文件:

1
2
#!/data/data/com.termux/files/usr/bin/sh
exec 启动命令 &

配置服务日志文件:

1
2
mkdir -p $PREFIX/var/service/服务名/log
vim $PREFIX/var/service/服务名/log/run

将下面命令粘贴进$PREFIX/var/service/服务名/log/run文件:

1
2
3
#!/data/data/com.termux/files/usr/bin/sh
svlogger="/data/data/com.termux/files/usr/share/termux-services/svlogger"
exec "${svlogger}" "$@"

保存,赋予脚本执行权限:

1
chmod +x $PREFIX/var/service/服务名/run &&chmod +x $PREFIX/var/service/服务名/log/run

相关命令:

1
2
3
4
5
6
7
8
sv-enable 服务名		#将服务设为自启动
sv-disable 服务名 #取消自启动
sv down 服务名 #临时关闭自启动服务,本次Termux运行过程中将不再重启
#但不会关闭正在运行的服务
pkill 服务名 #杀死服务,但如果自启动为生效状态,服务会立即重启
sv up 服务名 #启动服务,同时使自启动设置生效
sv start 服务名 #临时启动服务,但不改变自启动设置状态
sv status 服务名 #查看服务运行状态

日志文件在$PREFIX/var/log/sv/服务名/current中。