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
  2. 如果把以上写一个脚本,命名为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是不能执行的。

  3. 正的方法是

  • $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