手动修改 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. javascript 实现最简单的阶乘!

    <script type='text/javascript'>      window.onload =  get(5);   function  get(n){   document.w ...

  2. [Linux] Windows 下通过SecureCRT 访问 Linux

    不愿意装双系统的,可以借助虚拟机(Vmware, Virtual PC等) 安装linux 进行使用. 至于如何使用虚拟机安装Linux 这部分,很简单: 下载好需要安装的Linux ISO 镜像文件 ...

  3. python后端面试第一部分:python基础--长期维护

    1. 为什么学习Python? 2. 通过什么途径学习的Python? 3. Python和Java.PHP.C.C#.C++等其他语言的对比? 4. 简述解释型和编译型编程语言?   https:/ ...

  4. cs231n spring 2017 Python/Numpy基础

    本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 prin ...

  5. 网页title滚动

    );        var leftstar=title.substring (1,title.length );        document.title =leftstar +firstch ; ...

  6. 安装centos7后不能联网

    我们在安装centos的minimal版本后,在使用yum安装工具时会提示:cannot find a valid baseurl or repo:base/7/x86_64 这是因为不能联网导致的, ...

  7. 通过命令行创建Django项目

    只有安装的是pycharm专业版才可以直接在pycharm面板中直接创建Django项目 如果不是专业版,可以通过命令行创建Django项目 https://www.cnblogs.com/jiare ...

  8. Java实现Luhm算法--银行卡号合法性校验

    银行卡是由"发卡行标识代码 + 自定义 + 校验码 "等部分组成的. 银联标准卡与以往发行的银行卡最直接的区别就是其卡号前6位数字的不同.   银行卡卡号的前6位是用来表示发卡银行 ...

  9. LG_2869_[USACO07DEC]美食的食草动物Gourmet Grazers

    题目描述 Like so many others, the cows have developed very haughty tastes and will no longer graze on ju ...

  10. 吴裕雄--天生自然python编程:pycharm常用快捷键问题

    最近在使用pycharm的时候发现不能正常使用ctrl+c/v进行复制粘贴,也无法使用tab键对大段代码进行整体缩进.后来发现是因为安装了vim插件的问题,在setting里找到vim插件,取消勾选即 ...