手动修改 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 0 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 0 endef
在 gmediarender 的 Makefile 中添加2个项目。 okpg 基于 Debian 的软件包管理方式。postinst 安装以后执行,prerm 移除时执行,还有别的,这里用不到, 不介绍。
define Package/gmediarender/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gmediarender $(1)/usr/bin $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/gmediarender.init $(1)/etc/init.d/gmediarender #添加服务脚本 $(INSTALL_DIR) $(1)/usr/share/gmediarender/ $(INSTALL_DATA) ./files/*.png $(1)/usr/share/gmediarender/ endef
gmediarender.init
#!/bin/sh /etc/rc.common # Copyright (C) 2008-2012 OpenWrt.org START=99 APP=gmediarender SERVICE_WRITE_PID=1 SERVICE_DAEMONIZE=1 start() { service_start /usr/bin/$APP } stop() { service_stop /usr/bin/$APP }
的确非常简单。
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
/etc/init.d/gmediarender enable
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
/etc/init.d/gmediarender disable
/etc/init.d/gmediarender start
/etc/init.d/gmediarender stop
/etc/init.d/gmediarender restart
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
原文地址:https://www.cnblogs.com/ningci/p/9574468.html