Termux设置——服务自启动

当我们使用termux搭建一个网站或者云盘的时候,需要依赖mysql、nginx、php等其他服务时,每次启动软件后还要敲命令一个一个启动,效率极其低下!是否有办法能够让我们需要的服务随软件的启动而自动运行呢? termux多站给了两个办法,一个是Termux:Boot,一个是termux-servives,这里讲一下termux-services

安装termux提供的工具:termux-services

1
2
3
$ pkg install termux-services -y
# 注意:安装完成后,一定要退出termux,然后重新启动。

使用的命令格式, 以 sshd为例

  • sv-enable sshd # sshd服务设为自启动
  • sv-disable sshd # 取消sshd自启动
  • sv down sshd # 停止sshd服务,并使本次Termux运行期间sshd自启动服务失效
  • sv up sshd # 启动sshd服务
  • sv status sshd # 查看sshd服务运行状态
  • sv start sshd # 临时启动sshd,但不设置为自启动状态,相当于ssh命令
  • pkill ssh # 杀死sshd服务,但如果自启动为生效状态,sshd服务会立即重启

自己编写一个启动脚本,并用termux-services自启动

  1. 比如我的博客在 ~/myblog/myhexo下,每次进termux,要执行
1
2
3
$ cd myblog
$ cd myhexo
$ hexo s
  1. 如果把以上写一个脚本,命名为myhexo.sh
1
2
3
#!/data/data/com.termux/files/usr/bin/bash
cd myblog/myhexo
hexo s

然后 chmod +x myhexo.sh
再 sv-enable myhexo.sh是不能执行的。

  1. 正的方法是
  • $cd /data/data/com.termux/files/usr/var/service 目录
  • mkdir myblog
  • cd myblog
  • vim run 建立脚本,内容如下: 注意脚本名字为run
1
2
3
#!/data/data/com.termux/files/usr/bin/bash
cd ~/myblog/myhexo
hexo s
  • 保存并执行 chmod +x run
  • sv-enable myblog # 注意是myblog