手动修改 rc.local 加入也可以实现自启动,缺点手动修改太麻烦,停止只能用 kill 。

配置成服务最方便了,可以启用或禁用,启动,停止,重启非常方便。

在openwrt 中使用服务 service 是非常方便的。

define Package/gmediarender/postinst
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
echo "Enabling rc.d symlink for gmediarender"
/etc/init.d/gmediarender enable
fi
exit
endef define Package/gmediarender/prerm
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
echo "Removing rc.d symlink for gmediarender"
/etc/init.d/gmediarender disable
fi
exit
endef

在 gmediarender 的 Makefile 中添加2个项目。 okpg 基于 Debian 的软件包管理方式。postinst 安装以后执行,prerm 移除时执行,还有别的,这里用不到, 不介绍。

define Package/gmediarender/install
$(INSTALL_DIR) $()/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gmediarender $()/usr/bin
$(INSTALL_DIR) $()/etc/init.d
$(INSTALL_BIN) ./files/gmediarender.init $()/etc/init.d/gmediarender #添加服务脚本
$(INSTALL_DIR) $()/usr/share/gmediarender/
$(INSTALL_DATA) ./files/*.png $(1)/usr/share/gmediarender/
endef

gmediarender.init

#!/bin/sh /etc/rc.common
# Copyright (C) - OpenWrt.org START=
APP=gmediarender
SERVICE_WRITE_PID=
SERVICE_DAEMONIZE= start() {
service_start /usr/bin/$APP
} stop() {
service_stop /usr/bin/$APP
}

的确非常简单。

/etc/init.d/gmediarender enable

/etc/init.d/gmediarender disable

/etc/init.d/gmediarender start
/etc/init.d/gmediarender stop
/etc/init.d/gmediarender restart

openwrt 为软件包添加服务的更多相关文章

  1. Cloudera Manager安装之利用parcels方式安装单节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(四)

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  2. ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云

    向视图中添加服务 现在,ASP.NET MVC 6 支持注入类到视图中,和VC类不同的是,对类是公开的.非嵌套或非抽象并没有限制.在这个例子中,我们创建了一个简单的类,用于统计代办事件.已完成事件和平 ...

  3. 添加web引用和添加服务引用有什么区别?

    添加web引用和添加服务引用有什么区别,Add Service References 和 Add Web References 有啥区别?参考 http://social.microsoft.com/ ...

  4. Xamarin.Forms项目无法添加服务引用

    Xamarin.Forms项目无法添加服务引用 创建的Xamarin.Forms项目中,右击“引用”选项,在弹出的菜单中没有“添加服务引用”命令.这是由于该项目是支持Windows Phone 8.1 ...

  5. Centos搭建nginx环境,编译,添加服务,开机启动。

    首先安装所需的安装库,yum -y install gcc gcc-c++ autoconf libtool* openssl openssl-devel 编译的时候,若有提示错误,提示缺少某个库,y ...

  6. WCF 在VS中,添加服务引用,地址输入http://ip/Service.svc,点击前往,提示错误,内容如下:

    WCF的service端的webconfig如下: <?xml version="1.0"?> <configuration> <system.ser ...

  7. Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务

    The command chkconfig is no longer available in Ubuntu.The equivalent command to chkconfig is update ...

  8. (转)添加服务引用和添加Web引用对比

    在WindowsForm程序中添加服务引用和Web引用对比 为了验证书上有关Visual Studio 2010添加服务引用和Web引用的区别,进行实验. 一.建立一个Web服务程序项目新建项目,选择 ...

  9. (转)2.4.1 基础知识--添加服务引用与Web引用的区别

    <Web服务开发学习实录>第2章构建ASP.NET Web服务,本章我们将学习创建Web服务的各种方法,并重点对使用Visual Studio创建ASP.NET Web服务和修改Web服务 ...

随机推荐

  1. JVM 的内存布局

    这是jdk7以后的版本 1. Heap(堆区) Heap OOM 障最主要的发源地, 它存储着几乎所有的实例对象, 堆由垃圾收集器自动回收, 堆区由各子线程共享使用.通常情况下 它占用的空间是所有内存 ...

  2. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-openpyxl读取excel(14)

    从excel中读取数据 # -*- coding: utf-8 -*- # @Time : 2020/2/12 17:23 # @File : do_excel_openpyxl_14.py # @A ...

  3. JStorm:任务调度

    前一篇文章 JStorm:概念与编程模型 介绍了JStorm的基本概念以及编程模型方面的知识,本篇主要介绍自己对JStorm的任务调度方面的认识,主要从三个方面介绍: 调度角色 调度方法 自定义调度 ...

  4. Nginx 原理和架构

    Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器.Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名Nginx 里 ...

  5. Nginx笔记总结十四: nginx反向代理,用内网域名转发

    user www www; worker_processes ; error_log logs/error.log; pid logs/nginx.pid; worker_rlimit_nofile ...

  6. hexo命令

    2017-09-12 by chenyan 安装 npm install hexo -g #安装npm update hexo -g #升级hexo init #初始化 简写 hexo n " ...

  7. python-pymysql学习

    python 操作mysql:有两种方式python-mysqldb(python3.0之后不能安装)和pymysql,下面是pymysql的学习. 参照表: python代码实现的mysql查询功能 ...

  8. Scrapy初体验(一) 环境部署

    系统选择centOs 7,Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, ...

  9. 查漏补缺:socket编程:TCP粘包问题和常用解决方案(上)

    1.TCP粘包问题的产生(发送端) 由于TCP协议是基于字节流并且无边界的传输协议,因此很容易产生粘包问题.TCP的粘包可能发生在发送端,也可能发生在接收端.发送端的粘包是TCP协议本身引起的,TCP ...

  10. js作用域其二:预解析

    文章目錄 解析机制 JavaScript是一门解释型的语言 , 想要运行js代码需要两个阶段 编译阶段: 编译阶段就是我们常说的JavaScript预解析(预处理)阶段,在这个阶段JavaScript ...