找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1069|回复: 8

老毛子如何把程序安装为服务???

[复制链接]
发表于 2022-6-27 10:58 | 显示全部楼层 |阅读模式
本帖最后由 iceman0142 于 2022-6-27 11:10 编辑

最近因为Samba的内网传输速度问题,把小娱从openwrt换回到了老毛子(openwrt换了几个版本内网下载速度一直20M左右,老毛子基本可以稳定在50M)。
但是hiboy的系统没有阿里云webdav,也没有京东签到,自己折腾的过程中看到了这个教程http://nihaodd.com/jiaocheng/346.php,教程是收费的,但是自己下载回来的程序是可以在终端正常运行的。

哪位大神能帮忙解答一下,要怎么把程序作为服务安装到老毛子里,并安装守护进程?


发表于 2022-6-27 11:55 | 显示全部楼层
自己写脚本,然后扔到启动脚本里,可以参考老毛子下Zerotier的安装教程

点评

爬了几天帖子,参考 https://www.right.com.cn/FORUM/thread-594270-1-1.html ,写了启动文件,代码如下: [*]#! /bin/sh [*]# Default-Start: 2 3 4 5 [*]# Default-Stop: 0 1 6 [*]# Short-Descr  详情 回复 发表于 2022-6-29 21:36
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-29 21:36 | 显示全部楼层
本帖最后由 iceman0142 于 2022-6-29 21:38 编辑
dust2k 发表于 2022-6-27 11:55
自己写脚本,然后扔到启动脚本里,可以参考老毛子下Zerotier的安装教程

爬了几天帖子,参考 https://www.right.com.cn/FORUM/thread-594270-1-1.html ,写了启动文件,代码如下:



  1. <div>#! /bin/sh
  2. # Default-Start:     2 3 4 5
  3. # Default-Stop:      0 1 6
  4. # Short-Description: Starts Alist

  5. PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin
  6. DESC="Alist"
  7. NAME=alist
  8. DAEMON=/opt/myapp/$NAME
  9. CONFIG_DIR=/opt/myapp/alist-config.json
  10. PIDFILE=/var/run/$NAME.pid
  11. SCRIPTNAME=/opt/etc/init.d/$NAME
  12. ARGS=-conf

  13. set -e
  14. [ -x "$DAEMON" ] || exit 0

  15. func_start() {
  16.   echo -n "Starting $DESC.."
  17.   start-stop-daemon -S -b -m -p $PIDFILE -x $DAEMON -- $ARGS $CONFIG_DIR || echo -n "$DESC  Already Running"
  18. }

  19. func_stop() {
  20.   echo -n "Stopping $DESC.."  
  21.   start-stop-daemon -K -p $PIDFILE || echo -n "$DESC Not Running"
  22.   killall -9 $NAME || echo -n "$DESC Not Running"
  23.   rm -f $PIDFILE
  24. }

  25. func_restart() {
  26.   echo -n "Restarting $DESC.."
  27.   func_stop
  28.   func_start
  29. }

  30. case "$1" in
  31.   start)
  32.     func_start
  33.     echo "."
  34.     ;;
  35.   stop)
  36.     func_stop
  37.     echo "."
  38.     ;;
  39.   restart)
  40.     func_restart
  41.     echo "."
  42.     ;;
  43.   *)
  44.     echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
  45.     exit 3
  46.     ;;
  47. esac

  48. exit 0</div>
复制代码




文件放在了/opt/etc/init.d目录下,命名为S90alist,给予0755权限。

终端执行 /opt/etc/init.d/S90alist start 可以正常启动程序,但是重启路由器并未实现开机自启,大神麻烦指点一下。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-29 21:41 | 显示全部楼层
爬了几天帖子,参考 https://www.right.com.cn/FORUM/thread-594270-1-1.html ,写了启动文件,代码如下:


  1. <div>#! /bin/sh
  2. # Default-Start:     2 3 4 5
  3. # Default-Stop:      0 1 6
  4. # Short-Description: Starts Alist

  5. PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin
  6. DESC="Alist"
  7. NAME=alist
  8. DAEMON=/opt/myapp/$NAME
  9. CONFIG_DIR=/opt/myapp/alist-config.json
  10. PIDFILE=/var/run/$NAME.pid
  11. SCRIPTNAME=/opt/etc/init.d/$NAME
  12. ARGS=-conf

  13. set -e
  14. [ -x "$DAEMON" ] || exit 0

  15. func_start() {
  16.   echo -n "Starting $DESC.."
  17.   start-stop-daemon -S -b -m -p $PIDFILE -x $DAEMON -- $ARGS $CONFIG_DIR || echo -n "$DESC  Already Running"
  18. }

  19. func_stop() {
  20.   echo -n "Stopping $DESC.."  
  21.   start-stop-daemon -K -p $PIDFILE || echo -n "$DESC Not Running"
  22.   killall -9 $NAME || echo -n "$DESC Not Running"
  23.   rm -f $PIDFILE
  24. }

  25. func_restart() {
  26.   echo -n "Restarting $DESC.."
  27.   func_stop
  28.   func_start
  29. }

  30. case "$1" in
  31.   start)
  32.     func_start
  33.     echo "."
  34.     ;;
  35.   stop)
  36.     func_stop
  37.     echo "."
  38.     ;;
  39.   restart)
  40.     func_restart
  41.     echo "."
  42.     ;;
  43.   *)
  44.     echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
  45.     exit 3
  46.     ;;
  47. esac

  48. exit 0</div>
复制代码



文件放在了/opt/etc/init.d目录下,命名为S90alist,给予0755权限。

终端执行 /opt/etc/init.d/S90alist start 可以正常启动程序,但是重启路由器并未实现开机自启,大神能不能指点一下???


回复 支持 反对

使用道具 举报

发表于 2022-6-29 22:08 | 显示全部楼层
理论上脚本放到 /etc/storage/ 最好,具体为啥我也不清楚,但我看几乎所有人在padavan的脚本和定制化的东西都放那边了..

然后 在“高级设置” -> “自定义设置” -> “脚本” -> “自定义脚本0(功能配置):”,点击“自定义脚本0(功能配置): 加上

/etc/storage/S90alist start

点评

好的,我试试  详情 回复 发表于 2022-6-29 23:21
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-29 23:21 | 显示全部楼层
dust2k 发表于 2022-6-29 22:08
理论上脚本放到 /etc/storage/ 最好,具体为啥我也不清楚,但我看几乎所有人在padavan的脚本和定制化的东西都 ...

好的,我试试

点评

你的那个链接里说重复加载的问题,估计是本身自己的应用应对自己内存中多个copy检查的机制出问题了。。如果检查机制失败可以考虑起服务之前用killall 干掉所有之前的进程,或者更智能点用命令找出进程ID杀掉。。  详情 回复 发表于 2022-6-30 10:32
回复 支持 反对

使用道具 举报

发表于 2022-6-30 10:32 | 显示全部楼层

你的那个链接里说重复加载的问题,估计是本身自己的应用应对自己内存中多个copy检查的机制出问题了。。如果检查机制失败可以考虑起服务之前用killall 干掉所有之前的进程,或者更智能点用命令找出进程ID杀掉。。
回复 支持 反对

使用道具 举报

发表于 2022-7-3 07:52 | 显示全部楼层
在网上找一个可以下载的程序,还带启动脚本,你可以试试,只可惜是openwrt固件的openwrt固件alist安装搭建Alist扩展

点评

谢谢,已经搞定了,不用这个了  详情 回复 发表于 2022-7-3 11:02
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-3 11:02 | 显示全部楼层
灵峰红坊 发表于 2022-7-3 07:52
在网上找一个可以下载的程序,还带启动脚本,你可以试试,只可惜是openwrt固件的openwrt固件alist安装搭建A ...

谢谢,已经搞定了,不用这个了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-27 21:21

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表